CryptoSys API Library Manual

Example: Aes128.Dispose  Aes128.InitEncrypt  Aes128.Instance  Aes128.Update 

[VB6 equivalent: AES128_UpdateHex]

Dim nRet As Integer
Dim sBlock As String
Dim strHexKey As String
Dim strIV As String
Dim sNext As String
Dim sLast As String
Dim sCorrect As String
Dim j As Integer
Dim oAes128 As Aes128 = Aes128.Instance()

' cbc_e_m.txt
' KEYSIZE=128 I=2
' KEY=93286764A85146730E641888DB34EB47
' IV=192D9B3AA10BB2F7846CCBA0085C657A
' PT=983BF6F5A6DFBCDAA19370666E83A99A
' CT=40D8DAF6D1FDA0A073B3BD18B7695D2E

strHexKey = "93286764A85146730E641888DB34EB47"
strIV = "192D9B3AA10BB2F7846CCBA0085C657A"
sBlock = "983BF6F5A6DFBCDAA19370666E83A99A"
sCorrect = "40D8DAF6D1FDA0A073B3BD18B7695D2E"

Console.WriteLine("AES Monte Carlo CBC Mode Encrypt:")
Console.WriteLine("KY=" & " " & strHexKey)
Console.WriteLine("IV=" & " " & strIV)
Console.WriteLine("PT=" & " " & sBlock)

nRet = oAes128.InitEncrypt(strHexKey, Mode.CBC, strIV)
If nRet <> 0 Then
    Console.WriteLine("ERROR: Failed to set context")
    Exit Sub
End If
' Do 10,000 times
sNext = sBlock
sLast = ""
For j = 0 To 9999
    sBlock = sNext
    sBlock = oAes128.Update(sBlock)
    If j = 0 Then
        sNext = strIV
    Else
        sNext = sLast
    End If
    sLast = sBlock
Next
Console.WriteLine("CT=" & " " & sBlock)
Console.WriteLine("OK=" & " " & sCorrect)
oAes128.Dispose()

Debug.Assert(sCorrect.ToLower = sBlock.ToLower)

See Also:
Aes128.Update Method (String)

[Contents] [Index]

[PREV: Example: Aes128.Dispose ...]   [Contents]   [Index]   
   [NEXT: Example: Aes192.Decrypt ...]

Copyright © 2001-23 D.I. Management Services Pty Ltd. All rights reserved. Generated 2023-05-20T13:01:10Z.