Why Nostr? What is Njump?
2023-08-21 02:30:05

Bitcoin ba kamo? on Nostr: Stream Cipher Ang stream cipher ay paraan upang gayahin ang one-time pad sa digital ...

Stream Cipher

Ang stream cipher ay paraan upang gayahin ang one-time pad sa digital na anyo. Sa halip na gumawa ng isang malaking set, may pamamaraan na ginagamit para ito ay nababago-bago depende sa laki ng impormasyon. Kaya masasabi na ang stream cipher ay nagbabago-bago rin sa oras (time-varying).

Ang pag-encrypt ng mensahe ay ginagawa sa bawat bit. Kumbaga bawat patak ng mensahe ay dumadaan sa encryption.

Halimbawa ng pinaggamitan nito ay video streaming at data sa mga mobile phones.

Simpleng Stream Cipher

Ipakita natin gamit ang maiksing mensahe:
BABA!
Mula sa plaintext, ito ay papalitan natin ng binary:
01000010 01000001 01000010 01000001 00100001

Maari mong tignan dito kung paano nagawa yan: https://www.binaryhexconverter.com/ascii-text-to-binary-converter

Halimbawa, ang keystream na random nakuha ay:
Tama?
Kapag ginawang binary:
01010100 01100001 01101101 01100001 00111111

Pansinin mo ang katumbas na binary ng A at a. Ang MALAKI at maliit na letra ay magkaiba ang katumbas na binary. Magkaiba rin kasi sila ng katumbas na ASCII number.

Ngayon, gamit ang plaintext, keystream at ang konsepto ng exclusive-or, makukuha na natin ang ciphertext:

Plaintext: 01000010 01000001 01000010 01000001 00100001
XOR ( ⨁ bawat bit)
Keystream: 01010100 01100001 01101101 01100001 00111111
Ciphertext: 00010110 00100000 00101111 00100000 00011110

Ang binary ciphertext na nabuo, kapag naging ASCII ay garalgal lamang. Walang ibig sabihin. Subukan mo ilagay yan sa nabanggit na text converter site kanina, at makikita mong walang kahulugan. Kaya dapat magkaroon ng kopya ng susi ang tagatanggap ng mensahe, para maibalik ang ciphertext sa plaintext. Mula sa anyo na binary maibabalik sa ASCII ito. Sa tagatanggap, baliktad lamang ang posisyon ng Ciphertext at Plaintext sa talaan:

Ciphertext 00010110 00100000 00101111 00100000 00011110
XOR ( ⨁ bawat bit)
Keystream 01010100 01100001 01101101 01100001 00111111
Plaintext 01000010 01000001 01000010 01000001 00100001

Ito ay simpleng pagpapakita lamang kung paano ginagamit ang Stream Cipher. Mayroon pang mga komplikasyong idinaragdag upang mas mahirap para sa hackers na mahulaan ang mensahe.

Keystream generator

Gamit ang matematika, makakatipid rin tayo sa memorya ng computer. Sa halip na mag-imbak ng pagkarami-raming impormasyon, gagamitan lang ng formula upang makagawa ng susi pag kailangan. Halimbawa nito ang algorithm na gamit para sa keystream generator.

Depende sa haba ng mensahe, ganun din kahaba ang keystream. Ang keystream generator ay gumagamit ng mas maiksing susi sa umpisa, na syang ginagamit para makabuo ng mahabang susi pang encrypt ng plaintext. Ito ay mainam na paraan para makatipid sa memorya. Ang inisyal na susi ay tinatawag na seed (parang buto na pinagsisibulan).

-----
Kung may naisip kang mga karagdagang eksplanasyon, mag comment lamang sa baba.
Author Public Key
npub1svhmr7l49zyyn0dh8s0wla9f8thtghp6le5kd7wymj5sjrz2kzmsrejk0z