파이썬 리스트 카운트, 정렬 (Counter, sort) with. AES DDT
과제중에 AES의 차분공격을 위해 AES의 DDT(differential distribution table)을 계산해야할 일이 있었다. 차분공격과 DDT에대한 개념은 넘겨두고 요점은 Sbox에 Δx의 차이를 가진 두 입력의 출력의 차이 Δy의 출현값 분포표를 계산하는 것이다. 계산방법등을 생략하면 리스트안에 지저분하게 값들이 append 되어있다. 물론 dict를 미리 선언하고 없으면 아이템을 추가한 뒤 이후에 사전에 존재하는 아이템일 경우 +1을 하는 방식으로 해도 괜찮지만 파이썬에는 대충 리스트안에 값들을 다 박아두면 이런 것들을 자동으로 해주는 장치가 있을 것이라는 믿음이 있었다. Counter함수 파이썬으로 코드를 짜면 가장 편한 것은 이거 이렇게 한번에 해주는게 없을까? 하면 늘 있어준다는 것이다 ...