Security

Security/암호학(Cryptography)

[CryptoHack] Modes of Operation Starter

개념 설명(?) 이전 과제에서는 AES가 데이터 블록에서 키 순열을 수행하는 방법을 보여주었다. 실제로는 단일 블록보다 더 긴 메시지를 암호화해야한다. 작동 모드는 더 긴 메시지에 AES와 같은 암호를 사용하는 방법을 설명한다. 모든 모드에는 잘못 사용할 경우 심각한 약점이 있다. 이 카테고리의 도전 과제는 API와 상호작용하고 이러한 약점을 악용할 수 있는 웹 사이트의 다른 다른 섹션으로 이동한다. 인터페이스에 익숙해져서 다음 플래그에 도전해보자. https://aes.cryptohack.org/block_cipher_starter/ Modes of Operation Starter Description The previous set of challenges showed how AES performs a..

Security/암호학(Cryptography)

[CryptoHack] Bringing It All Together

개념 설명 키 확장 단계 외에도 모든 단계를 스케치했다. SubBytes가 혼동을 제공하고 ShiftRows와 MixColumns가 확산을 제공하는 방법과 이 두 속성이 어떻게 함께 작동하여 상태 행렬에 비선형 변환을 반복적으로 순환시키는지 살펴보았다. 마지막으로 AddRoundKey는 이 substitution-permutation 네트워크에 key를 시드로 하여 암호를 keyed permutation으로 만든다. 복호화에는 "Structure of AES" 챌린지에 설명된 단계를 역으로 수행하여 역연산을 적용하는 것이 포함된다. 여전히 KeyExpansion(키 확장) 을 먼저 실행해야 하며 라운드 키는 역순으로 사용된다는 점에 유의해야 한다. XOR에는 self-inverse(자기 반전) 속성이 있..

Security/암호학(Cryptography)

[CryptoHack] Diffusion through Permutation

개념 설명 순열(Permutation)을 통한 확산. 우리는 S-box 치환이 어떻게 혼란(confusion)을 일으키는지 보았다. Shannon(섀넌)이 설명한 다른 중요한 속성은 "확산(Diffusion)"이다. 이것은 암호 입력의 모든 부분이 어떻게 출력의 모든 부분으로 퍼져야 하는지와 관련이 있다. 치환(Substitution)은 그 자체로 비 선형성을 생성하지만 전체 상태에 걸쳐 비선형성을 분산시키지는 않는다. 확산이 없으면 같은 위치에 있는 같은 바이트는 각 라운드에 동일한 변환이 적용된다. 이를 통해 암호 분석가는 상태 행렬의 각 바이트 위치를 개별적으로 공격할 수 있다. 한 바이트에 적용된 치환이 다른 모든 바이트에 영향을 미치도록 상태 행렬을 스크램블링(scrambling)하여 (가역적인..

Security/암호학(Cryptography)

[CryptoHack] Confusion through Substitution

개념 설명 Confusion through Substitution (치환을 통한 혼란) 각 AES 라운드의 첫 번째 단계는 SubBytes이다. 여기에는 상태 행렬의 각 바이트를 가져와서 미리 설정된 16x16짜리 조회 테이블(lookup table)의 다른 바이트로 대체하는 작업이 포함된다. lookup table은 줄여서 "Substitution box(치환 박스)" 또는 "S-box"라고 하며, 처음 볼 때는 당황 할 수도 있다. 그것을 파헤쳐보자. 1945년 미국 수학자 Claude Shannon(클로드 섀넌)은 정보 이론에 관한 획기적인 논문을 발표했다. 해당 논문에서는 보안 암호의 필수 속성으로 "혼란(confusion)"을 인식하였다. "혼란"은 암호문과 키 사이의 관계가 가능한 복잡해야 함..

Security/암호학(Cryptography)

[CryptoHack] Round Keys

개념 설명 Round Keys(라운드 키) 지금은 KeyExpansion(키 확장)단계에 대한 자세한 내용은 건너뛰겠다. 요점은 16byte 키를 가져와서 초기 키에서 파생된 "라운드 키"라고 하는 11개의 4x4행렬을 생성하는 것이다. 이러한 "라운드 키 round key"를 통해 AES는 우리가 제공한 단일 키에서 추가 마일리지를 얻을 수 있다. (추가적인 이점이 있다는 듯) 다음 단계인 초기 키 추가 단계(initial key addition)에는 단일(하나의) AddRoundKey단계가 있다. AddRoundKey단계는 간단하다. 현재 상태 배열(state)과 라운드 키를 XOR한다. AddRoundKey는 각 라운드의 마지막 부분에서도 발생한다. AddRoundKey는 단순한 순열이라기보다는 "..

Security/암호학(Cryptography)

[CryptoHack] Structure of AES

https://cryptohack.org/courses/symmetric/aes2/ CryptoHack – Home A fun, free platform to learn about cryptography through solving challenges and cracking insecure code. Can you reach the top of the leaderboard? cryptohack.org 너무 길어서 링크로 대체한다. 개념 설명 AES의 구조. 키 없이 되돌릴 수 없는 키 순열을 만들어내기 위해, AES는 입력에 많은 수의 애드혹(ad-hoc)혼합 작업을 적용한다. 이는 우아한 개별 수학적 문제를 기반으로 하는 RSA와 같은 공개 키 암호 시스템과 극명한 대조를 이룬다. AES는 훨씬 덜 우..

Security/암호학(Cryptography)

[CryptoHack] Resisting Bruteforce

개념 설명 (Resisting Bruteforce) 무차별 대입 공격 저항. 블록 암호가 안전하다면, 공격자가 AES의 출력을 의사 난수 순열(pseudorandom permutation)과 구별할 방법이 없어야 한다. 게다가 가능한 모든 키를 무차별 대입하는 것보다 순열을 최소화하는 더 좋은 방법이 없어야 한다. 때문에 학계에서는 해당 공격이 실질적으로 불가능하더라도 키를 무차별 대입하는 것보다 수행하는데 더 적은 단계가 필요한 공격을 발견할 수 있는 경우 암호가 이론적으로 "파손"(broken)되었다고 간주한다. ! 128비트 키 스페이스를 무차별 대입하는 것이 얼마나 어려울까? (https://crypto.stackexchange.com/questions/48667/how-long-would-it..

Security/암호학(Cryptography)

[CryptoHack] Keyed Permutations

대칭 암호학? 시작입니다. 사실 그 전에 계속 중국인의 나머지 정리를 이해하기 쉽게 증명해서 글을 쓰고자 했는데 너무 어려워서 다음에 쓰려고 미루고.. 진도나 나갑시다. 이번 대회에서는 그냥 sympy에서 crt를 사용하는 걸로.. Keyed Permutation (키드 순열) AES는 다른 우수한 블록 암호와 마찬가지로 "Keyed Permutation"을 수행한다. 즉 수행할 순열을 결정하는 키를 사용하여 가능한 모든 입력 블록을 특정한 출력 블록에 매핑하는 것이다. ! '블록'은 모든 종류의 데이터를 나타낼 수 있는 고정된 수의 비트 혹은 바이트를 나타낸다. AES는 블록을 처리하고 다른 블록을 출력한다. 특히 AES-128로 알려진 128비트(16byte) 블록과 128비트 키에서 작동하는 AES..

그믐​
'Security' 카테고리의 글 목록 (4 Page)