1998 NIST (national standards and technology institute) 가 1 차 AES 분석, 테스트 및 수집을 시작했으며, * * * 는 15 개의 후보 알고리즘을 생성했습니다. 이들은 cast-256, crypton, deal, DFC, E2, frog, HPC, Loki97, Magenta, Mars, RC6, Rijndael, SST 를 포함한다 5 개의 후보 알고리즘 (Mars, RC6, Rijndael, Serpent, Two Fish) 이 2 라운드에 진입했습니다. 1999.3 월 AES2 에 대한 2 차 분석 테스트를 실시하여 Rijndael 알고리즘의 성공을 최종적으로 확인했습니다. NIST 는 2002 년 5 월 26 일 새로운 AES (advanced encryption standard) 사양을 개발했습니다.
AES 는 널리 사용되는 일반적인 대칭 암호화 알고리즘입니다. 데이터 발신자는 특수 암호화 알고리즘을 사용하여 일반 텍스트 및 암호화 키를 처리한 후 복잡한 암호화 암호문으로 변환하여 전송합니다. 수신인이 암호문을 받은 후 원문을 해석하려면 암호화 키와 같은 알고리즘의 역알고리즘으로 암호문을 해독하여 읽을 수 있는 일반 텍스트로 복원해야 합니다. 대칭 암호화 알고리즘에서는 발신자와 수신자가 데이터를 암호화하고 해독하는 데 사용하는 하나의 키만 사용됩니다. 이를 위해서는 해독기가 암호화 키를 미리 알아야 합니다. 대칭 암호화 알고리즘은 알고리즘 개방, 계산량 감소, 암호화 속도 향상, 암호화 효율이 높다는 장점이 있습니다. 단점은 쌍방이 같은 키를 사용하므로 보안이 보장되지 않는다는 것이다.
여기서 주제에서 벗어나 비대칭 암호화 알고리즘 (예: 유명한 RSA 알고리즘) 은 완전히 다르지만 완전히 일치하는 두 가지 키인 공개 키와 개인 키를 사용합니다. 비대칭 암호화 알고리즘을 사용하여 파일을 암호화할 경우 일치하는 공개 키와 개인 키 한 쌍만 있으면 일반 텍스트 암호화 및 암호 해독 프로세스를 완료할 수 있습니다. 공개 키로 일반 텍스트를 암호화하고 개인 키로 암호문을 해독하다. 그리고 암호화기는 수신자의 공개 키를 알고, 해독기만 자신의 개인 키를 알고 있다.
AES 알고리즘은 변위 및 변위 연산을 기반으로 합니다. 정렬은 데이터를 재정렬하는 것이고, 대체는 한 데이터 단위로 다른 데이터 셀을 바꾸는 것입니다. AES 는 여러 가지 다른 방법을 사용하여 변위 및 변위 연산을 수행합니다. AES 는 반복되는 대칭 키 그룹 암호입니다. 128, 192 및 256 비트 키를 사용하여 128 비트 (16 바이트) 로 데이터를 암호화하고 해독할 수 있습니다. 공개 키 암호화에 사용된 키 쌍과 달리 대칭 키 암호화는 동일한 키를 사용하여 데이터를 암호화하고 해독합니다. 그룹 암호는 입력 데이터와 동일한 수의 암호화된 데이터를 반환합니다. 반복 암호화는 입력 데이터가 반복적으로 교체되고 대체되는 순환 구조를 사용합니다. 기록에 따르면, 기원전 400 년에 고대 그리스인들은 배열 암호를 발명했다. 188 1 년, 세계 최초의 전화 기밀 특허 등장. 제 2 차 세계 대전 중 독일군은 잉그마 암호기를 가동했고, 암호학은 전쟁에서 매우 중요한 역할을 했다.
AES 암호화 프로세스는 "상태" 라고도 하는 4×4 바이트 행렬을 연산합니다. 이 매트릭스의 한 요소 크기는 일반 텍스트 블록의 1 바이트입니다. 암호화할 때 AES 암호화 주기의 각 라운드 (마지막 라운드 제외) 는 다음 네 단계로 구성됩니다.
/kloc-0 1.AddoundKey—-행렬의 각 바이트가 해당 라운드 키와 다르거나 연산됩니다. 각 하위 키는 키 생성 체계에 의해 생성됩니다.
2. 하위 바이트-비선형 대체 함수를 통해 조회 테이블을 사용하여 각 바이트를 해당 바이트로 바꿉니다.
3.shift rows— 이동 행렬의 각 수평 열을 반복합니다.
4.mix columns— 행렬의 각 직선 행을 완전히 혼합하기 위한 작업입니다. 이 단계에서는 선형 변환을 사용하여 4 바이트마다 인라인을 혼합합니다.