2012-04-24 2 views
0

C 언어로 프로그래밍합니다. TMK1 = 32byte 16 진수 값 TMK2 = 32Y이트 16 진수 값과 같이 구성 요소와 같은 TMK (터미널 마스터 키)를 받았습니다. 이 두 키 값을 사용하여 키 확인 값을 계산해야합니다. DES 알고리즘이이를 달성하는 데 사용된다는 것을 알고 있지만 완전한 절차를 알지 못합니다. 이렇게하려면 샘플 프로그램을 제공하십시오. KV 1.Take키 값을 사용하여 키 확인 값을 계산합니다.

:

스피는 좋아하려고 : XXXX XXXX XXXX XXXX YYYY의 YYYY의 YYYY의 YYYY 각 부분은 64 비트 길이 인 좌우 부분으로

2.Divide 그것을 왼쪽 = XXXX XXXX XXXX XXXX 오른쪽 = YYYY YYYY YYYY YYYY

3. 64 비트 버퍼를 0으로 초기화하십시오. 이 버퍼 결과를 호출하십시오.

4.DES는 왼쪽에서 결과를 암호화합니다.

오른쪽으로 5.DES 암호 해독 결과. 왼쪽에

6.DES 암호화 결과

플랫폼 : 리눅스, C 언어는

+0

예전 ANSI 은행 표준 X9.9 또는 그와 비슷한 것을 떠올리게합니다. –

+0

당신은 사용 된 알고리즘을 모르지만 당신은 우리에게 그것에 대해 더 적은 것을 말했습니다. 우리가 어떻게 유용한 대답을 줄 수 있을까요? –

+0

내 주요 관심사는 그 TMK 콘텐츠를 분할하고 위에서 언급 한 바와 같이 연속 3DES 알고리즘에 사용하는 방법입니다. – john

답변

0

내가 지금 당신에게 코드를 줄 수 있지만, 난 당신이 문자열 (또는 배열 또는 문자)로 KV 치료를 제안했다 두 부분으로 쉽게 나눌 수 있습니다. 그런 식으로.

+0

KV는 16 진수 값으로 주어집니다 ... ASCII로 변환 한 다음 사용하거나 그대로 사용해야합니다. – john

+0

@john : ASCII로 변환하지 마십시오. 바이너리 데이터이므로 직접 사용하십시오. – indiv

관련 문제