CryptoSys API examples VB6 to VB.NET

AES192_HexMode

Encrypts or decrypts data represented as a hexadecimal string using a specified mode.

VB6/VBA

Debug.Print "Testing AES192_HexMode ..."
Dim nRet As Long
Dim strOutput As String
Dim strInput As String
Dim strHexKey As String
Dim sPlain As String
Dim sCipher As String
Dim strHexIV As String

' Encrypting 64 bytes (4 blocks) using AES-CBC with 192-bit key

strHexKey = "56e47a38c5598974bc46903dba29034906a9214036b8a15b"
strHexIV = "8ce82eefbea0da3c44699ed7db51b7d9"
sPlain = "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf" _
    & "b0b1b2b3b4b5b6b7b8b9babbbcbdbebf" _
    & "c0c1c2c3c4c5c6c7c8c9cacbcccdcecf" _
    & "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf"
sCipher = "738237036dfdde9dda3374fa182600c5" _
    & "38d9187a0299725d0a7fdbe844d77578" _
    & "1539e401b5597cbbfa836efd22d998d2" _
    & "1605d8df340622417b911467b5e51a12" _
    
strInput = sPlain
' Set strOutput to be same length as strInput
strOutput = String(Len(strInput), " ")

Debug.Print "KY=", strHexKey
Debug.Print "IV=", strHexIV
Debug.Print "PT=", strInput
' Encrypt in one-off process
nRet = AES192_HexMode(strOutput, strInput, strHexKey, ENCRYPT, "CBC", strHexIV)
Debug.Print "CT=", strOutput, nRet
Debug.Print "OK=", sCipher
Debug.Assert (strOutput = sCipher)
' Decrypt to check
strInput = strOutput
nRet = AES192_HexMode(strOutput, strInput, strHexKey, DECRYPT, "CBC", strHexIV)
Debug.Print "P'=", strOutput, nRet
Debug.Print "OK=", sPlain
Debug.Assert (strOutput = sPlain)

Output

Testing AES192_HexMode ...
KY=   56e47a38c5598974bc46903dba29034906a9214036b8a15b
IV=   8ce82eefbea0da3c44699ed7db51b7d9
PT=   a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf
CT=   738237036DFDDE9DDA3374FA182600C538D9187A0299725D0A7FDBE844D775781539E401B5597CBBFA836EFD22D998D21605D8DF340622417B911467B5E51A12             0 
OK=   738237036dfdde9dda3374fa182600c538d9187a0299725d0a7fdbe844d775781539e401b5597cbbfa836efd22d998d21605d8df340622417b911467b5e51a12
P'=   A0A1A2A3A4A5A6A7A8A9AAABACADAEAFB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC0C1C2C3C4C5C6C7C8C9CACBCCCDCECFD0D1D2D3D4D5D6D7D8D9DADBDCDDDEDF             0 
OK=   a0a1a2a3a4a5a6a7a8a9aaabacadaeafb0b1b2b3b4b5b6b7b8b9babbbcbdbebfc0c1c2c3c4c5c6c7c8c9cacbcccdcecfd0d1d2d3d4d5d6d7d8d9dadbdcdddedf

VB.NET

Console.WriteLine("Testing AES192_HexMode ...")
''Dim nRet As Integer
Dim strOutput As String
Dim strInput As String
Dim strHexKey As String
Dim sPlain As String
Dim sCipher As String
Dim strHexIV As String
' Encrypting 64 bytes (4 blocks) using AES-CBC with 192-bit key
strHexKey = "56e47a38c5598974bc46903dba29034906a9214036b8a15b"
strHexIV = "8ce82eefbea0da3c44699ed7db51b7d9"
sPlain = "a0a1a2a3a4a5a6a7a8a9aaabacadaeaf" _
    & "b0b1b2b3b4b5b6b7b8b9babbbcbdbebf" _
    & "c0c1c2c3c4c5c6c7c8c9cacbcccdcecf" _
    & "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf"
sCipher = "738237036dfdde9dda3374fa182600c5" _
    & "38d9187a0299725d0a7fdbe844d77578" _
    & "1539e401b5597cbbfa836efd22d998d2" _
    & "1605d8df340622417b911467b5e51a12"
strInput = sPlain
' Set strOutput to be same length as strInput
''strOutput = String(Len(strInput), " ")
Console.WriteLine("KY=" & " " & strHexKey)
Console.WriteLine("IV=" & " " & strHexIV)
Console.WriteLine("PT=" & " " & strInput)
' Encrypt in one-off process
strOutput = Aes192.Encrypt(strInput, strHexKey, Mode.CBC, strHexIV)
Console.WriteLine("CT=" & " " & strOutput)
Console.WriteLine("OK=" & " " & sCipher)
Debug.Assert(strOutput.ToLower = sCipher.ToLower)
' Decrypt to check
strInput = strOutput
strOutput = Aes192.Decrypt(strInput, strHexKey, Mode.CBC, strHexIV)
Console.WriteLine("P'=" & " " & strOutput)
Console.WriteLine("OK=" & " " & sPlain)
Debug.Assert(strOutput.ToLower = sPlain.ToLower)

[Contents]

[HOME]   [NEXT: AES256_BytesMode...]

Copyright © 2009-20 D.I. Management Services Pty Ltd. All rights reserved.