게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
[본삭금]DES 알고리즘 복호화 과정 질문 드립니다..
게시물ID : programmer_10073짧은주소 복사하기
작성자 : PianoMan
추천 : 0
조회수 : 2494회
댓글수 : 3개
등록시간 : 2015/05/14 21:47:38
옵션
  • 본인삭제금지
DES 알고리즘을 C언어로 구현하고 있는데요.

암호화 과정은 구현했는데 복호화 과정은 제가 과정을 잘못 알고 있는지 도저히 값이 안나오네요...

암호화 과정이

64비트 평문 -> 초기치환 -> 32비트로 분할 -> 오른쪽 32비트를 48비트로 확장치환 -> 첫번째 라운드키와 XOR

-> S-Box 통과시켜 32비트로 -> P-Box 통과시킴 -> 이값과 왼쪽 32비트와 XOR 

최초 오른쪽 32비트가 왼쪽 32비트로 XOR 한 왼쪽 32비트가 오른쪽 32비트로 가면 한라운드 종료

라운드키

64비트 암호키 ->패리티비트 제거(56 비트) -> 28비트로 분할 -> 각각 shift left -> 56비트로 합체 -> 48비트로 압축치환(첫번째라운드키 완성)

이런 방식으로 구현해서 암호화를 구현했습니다.

복호화 방식은 별에별 방식으로 다해봤는데도 안나오네요.. 쉬프트 라이트를 써야된데서 만들어서 쓰고 

1~16라운드키만 먼저 만들어서 16라운드키부터 거꾸로 적용도 해보고 

왼쪽 값과 오른쪽  값을 먼저 스왑해야 된데서 먼저 스왑도 해보고 다해봤는데 기존 평문이 나오지 않습니다.

제가 위에 적었던 암호화 방식처럼 상세하게 설명 부탁드릴게요..

이해가 잘안되네요..
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호