암호동물학은 제3자의 간섭으로부터 통신을 보호하기 위한 다양한 기술을 연구하고 실천하는 학문입니다. 네트워크 보안을 위해 사용됩니다. 우리는 민감한 데이터를 보호하기 위한 방법과 관행을 개발하려고 노력합니다. 암호화의 유일한 목표는 공격자로부터 데이터를 보호하는 것입니다. 비대칭 암호화는 공개/개인 키 암호화라고도 합니다. 이름에서 알 수 있듯이 개인 키는 비공개로 유지되지만 공개 키는 배포될 수 있습니다. 암호화는 두 키(하나는 암호화용, 다른 하나는 복호화용) 사이의 수학적 관계입니다. 예를 들어, "A1"과 "A2"라는 두 개의 키가 있는 경우 "A1" 키가 암호화에 사용되면 "A2"는 암호 해독에 사용되고 그 반대의 경우도 마찬가지입니다.
비대칭 암호화를 위해 RSA 알고리즘을 사용합니다. 먼저 키 쌍(공개 키, 개인 키)을 생성합니다.
비대칭 키를 생성하려면 다음 단계를 따를 수 있습니다 −
먼저 SecureRandom 클래스를 사용하여 공개 키와 개인 키를 생성합니다. 난수를 생성하는 데 사용됩니다.
RSA 알고리즘을 사용하여 키를 생성합니다. 이 클래스는 키 생성 알고리즘을 나타내는 문자열 변수를 전달하는 데 사용되는 getInstance() 메서드를 제공하고
2048비트 키 크기로 키 생성기 개체를 초기화하고 임의의 숫자를 전달합니다.
이제 비밀 키가 생성되었으며 DatatypeConvertor를 사용하여 16진수 형식으로 변환할 수 있는 키를 살펴보겠습니다.
구문
으아악// Java program to create a // asymmetric key package java_cryptography; import java.security.KeyPair; import java.security .KeyPairGenerator; import java.security .SecureRandom; import javax.xml.bind .DatatypeConverter; // Class to create an asymmetric key public class Asymmetric { private static final String RSA = "RSA"; // Generating public and private keys // using RSA algorithm. public static KeyPair generateRSAKkeyPair() throws Exception { SecureRandom secureRandom = new SecureRandom(); KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance(RSA); keyPairGenerator.initialize( 2048, secureRandom); return keyPairGenerator .generateKeyPair(); } // Driver code public static void main(String args[]) throws Exception { KeyPair keypair = generateRSAKkeyPair(); System.out.println( "Public Key is: " + DatatypeConverter.printHexBinary( keypair.getPublic().getEncoded())); System.out.println( "Private Key is: " + DatatypeConverter.printHexBinary( keypair.getPrivate().getEncoded())); } }
위 내용은 Java의 비대칭 암호화 암호화의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!