2012-04-24 51 views
0

Iam使用C語言編程。我已經給了TMK(終端主密鑰),例如TMK1 = 32byte十六進制值TMK2 = 32字節十六進制值。 我需要使用這2個鍵值計算Key檢查值。 我知道DES算法用於實現這一點,但我不知道完整的程序。 請提供一個示例程序來執行此操作。使用密鑰值計算密鑰校驗值

IAM的嘗試它喜歡:

1.Take的KV:XXXX XXXX XXXX XXXX YYYY YYYY YYYY YYYY

2.Divide它變成一個左和右部分,其中每個部分是64位長: 左= XXXX XXXX XXXX XXXX 右= YYYYYYYYYYY

3.初始化一個64位緩衝區爲零。調用此緩衝區結果。

4.DES使用Left加密結果。

5.DES用正確的解密結果。

6.DES加密結果與左

平臺:Linux,C語言

+0

提醒我一些舊的ANSI銀行標準,X9.9或類似的東西。 – 2012-04-24 23:40:33

+0

你說你不知道使用的算法,但你告訴我們更少。我們怎麼可能給出一個有用的答案? – 2012-04-27 04:30:52

+0

我的主要擔憂是如何分割TMK內容並將其用於上述的連續3DES算法。 – john 2012-04-27 05:10:41

回答

0

我不能給你一個代碼,但現在我會建議你把KV作爲一個字符串(或陣列或字符)這樣你可以很容易地將它分成兩部分。類似的東西。

+0

KV是以十六進制值的形式給出的......我必須將它轉換成ASCII碼,然後使用或應該使用它們。 – john 2012-04-24 08:29:17

+0

@john:不要將其轉換爲ASCII。它是二進制數據,所以直接使用它。 – indiv 2012-04-27 17:07:18