2

Python で AES を使用して暗号化された暗号文を解読するにはどうすればよいですか。

暗号化.py

これを使用して、AES を使用して暗号文を作成し、それを IV と連結してファイル file.txt に書き込みました。

from Crypto.Cipher import AES
import hashlib, os
Plain = 'This is a string'             #String to Encrypt
key = 'mysecretpassword'      
#key = hashlib.md5(key).digest()       #Key
IV = 'InitializationVector'
IV = hashlib.md5(IV).digest()          #Initialization Vector
print len(IV)
Obj1 = AES.new(key, AES.MODE_CBC, IV)
Cipher = Obj1.encrypt(Plain)           #Cipher text
File = open('file.txt','w')
File.write(Cipher+IV)      #Concatenated the string and IV and
                           #wrote that to a file file.txt 
File.close()

Decrypt.c

これを使用して、file.txt から Cipher テキストと IV を取得しました。openssl または他のライブラリを使用して Cipher を復号化するにはどうすればよいですか?

#include <stdio.h>
#include <string.h>
int main ()
{
  char filename[] = "file.txt";
  FILE *file = fopen ( filename, "r" );
  char key[] = "mysecretpassword";
  if (file != NULL) {
    char line [1000];
    char *p = line;
    char *array = line;
    while(fgets(line,sizeof line,file)!= NULL) {
      fprintf(stdout,"%s\n",line);
      char otherString[strlen(line)-15];
      strncpy(otherString, p, strlen(line)-16);
      otherString[strlen(otherString)-1] = '\0';
      printf("%s\n", otherString);//Here I got the Encrypted string
      array=array+(strlen(array)-16);
      printf("%s\n",array);//Here I got the IV
      //Here how to decrypt the Cipher text using "IV" and "key"
    }
    fclose(file);
  }
  else {
    perror(filename);
  }
  return 0;
}

本当に私は初心者です。私の質問の誤りをお許しください。お気軽に私を助けてください。それがあなたの最も親切なことです。よろしくお願いします。

4

1 に答える 1