Ý Tưởng về 1 kiểu mã hoá mới
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ự?
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;
và 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
Cái này có rồi
en.wikipedia.org
Vigenère cipher
The Vigenère cipher (French pronunciation: [viʒnɛːʁ]) is a method of encrypting alphabetic text by using a series of interwoven Caesar ciphers, based on the letters of a keyword. It is a form of polyalphabetic substitution. The cipher is easy to understand and implement, but it resisted all attempts to break it for three centuries, which earned it the description le chiffre indéchiffrable (French for 'the indecipherable cipher'). Many people have tried to implement encryption schemes that are ...
Ý kiến của một sinh viên có học nhập môn mã hóa vài buổi rồi nghỉ:
Trong mật mã thì đây là dạng mã hóa: thuật toán và khóa đều giấu. Dạng này không bàn tới vì không có gì để bàn: thuật toán và khóa đều giấu kín thì mỗi người một cách nghĩ, ngồi tìm cho uổng công.
Mã hóa dùng được là RSA: thuật toán mã hóa và giải mã đều công khai, public key cũng công khai, chỉ giữ lại private key. Rãnh thì đọc thêm cho vui. Không thì thi vô KHTN học.
khác vigenère chứ @drgnz , vì vigenère là dựa trên bảng nhưng về khoá và cách thức thì tương tự ^^
Nhìn có vẻ khác, nhưng nó như nhau đấy.
Không tin em dò bảng Vigenera là thấy.
Chỉ khác một chút là nó thêm 1 đơn vị thôi.
Như A-A = A + 1 = B
S-S = K + 1 = L
C-C = E + 1 = F
Đúng hơn thì, với mỗi ký tự trong key, shift qua 1 rồi đem đi encrypt
Như ASC -> BTD
Đem BTD áp dụng Vigenere là y chang kq trên.
vậy mang đi thi sáng tạo được không a?
Anh chưa thi bao giờ nên cũng ko rõ được không.
Em nên hỏi các thầy cô tư vấn sẽ ok hơn.
thanks a, tự dưng ngẫu hứng nghĩ ra đấy
Không nên đâu em cái này mang đi thi nghịch nghịch cho vui, cọ sát thì chắc được chứ muốn vào sâu thì k ăn thua, cảm giác nó … đơn giản quá, mà lại không có áp dụng gì trong thực tế, tính mới cũng không rõ lắm.
Tốt nhất làm cái app java nào đó, phục vụ được một mục đích gì đó trong cuộc sống thì hay hơn