Ý Tưởng Về 1 Kiểu Mã Hoá Mới - Dev Chat - Dạy Nhau Học

Em có ý tưởng về một kiểu mã hoá thông tin như thế này, mọi người giúp em ý kiến vs ạ.

  • Mức độ bảo mật
  • Tính khả thi
  • Em có thể mang đi thi sáng tạo không ạ?
  • Đã có loại mã hoá nào giống như vậy chưa ạ?

ASC (ASCII Summary Code) - mã hoá dựa trên việc cộng thứ tự? Pasted image718×83 10.7 KB Như mọi người đã biết, bảng chữ cái chứa 26 kí tự và sẽ được đánh số từ 1 -> 26 ( A -> Z) Sau đó người dùng sẽ nhập một Khoá BIểu làm công cụ mã hoá và tăng tính bảo mật. Key này sẽ là một từ, không chứa khoảng trống, sau đó từ khoá này sẽ được “phủ” đến khi độ dài của khoá phủ bằng độ dài của text đầu vào.

//Key = ASC Text: ASCII SUMMARY CODE ENCRYPTOR Key : ASCAS CASCASC ASCA SCASCASCA ||||| ||||||| |||| ||||||||| Code: BLFJB VVFPBKB DHGF XQDKBQMRS

Cách thức hoạt động Như đoạn chữ ở trên, ta thấy ở vị trí (i) thứ 1 thì text[i] -> A và key[i] -> A Vị trí của text[i] trong bảng chữ sẽ là 1 và key[i] cũng là 1 khi đó tổng của text[i] và key[i] sẽ là 2 -> B (thứ tự trong bảng chữ cái) và tiếp tục đến khi kết thúc ( i = length(text) )

Mã mã hoá (pascal)

function ASC(text, keyfilled: string): string; var i: integer; m: string = ''; u: byte; begin for i:= 1 to length(txt) do begin if ord(txt[i]) < 65 then m:= m +txt[i] else begin u:= ord(txt[i])-64+ord(keyfilled[i])-64; while u > 26 do u:= u - LIM; m:= m + chr(64 + u); end; end; exit(m); end;

Mã Giải

function ASC(txt: string): string; var i,u: integer; m : string = ''; begin for i:= 1 to length(txt) do begin if ord(txt[i])<65 then m:=m+txt[i] else begin u:= ord(txt[i]) - ord(kfilled[i]); while u < 1 do u:= LIM + u; m:=m+chr(64+u); end; end; exit(m); end;

Các cao nhân cho ý kiến giúp em vs ạ. Em xin cảm ơn

Từ khóa » Cách Dhgf