Skip to main content

รหัสสตรีมคืออะไร?

สตรีมรหัสเป็นชนิดของอัลกอริทึมที่ใช้ในการเข้ารหัสข้อมูลซึ่งแหล่งที่จำเป็นต้องเข้ารหัสจะถูกประมวลผลกับลำดับคีย์ที่ปรากฏแบบสุ่มรหัสประเภทนี้ค่อนข้างยืดหยุ่นในแง่ที่ว่ามันอาจแตกต่างกันไปในการเข้ารหัสเนื่องจากข้อความกำลังถูกประมวลผลบางครั้งพวกเขาก็ถูกเรียกว่าเป็นตัวเลขของรัฐเนื่องจากการเข้ารหัสก็ขึ้นอยู่กับสถานะปัจจุบันของการดำเนินการในทางตรงกันข้ามกับบล็อก ciphers ซึ่งทำงานกับชิ้นส่วนของข้อมูล 64 บิตต่อครั้งรหัสสตรีมสามารถทำงานได้ในบิตเดียวด้วยเหตุนี้สตรีมจึงสามารถประมวลผลได้ด้วยความเร็วสูงโดยมีกำลังการประมวลผลน้อยมาก

การเข้ารหัสกระแสแรกถูกออกแบบโดย Gilbert Vernam ในปี 1917 Vernam ในภายหลังยังช่วยสร้างรหัสที่รู้จักกันในชื่อแผ่นเดียวซึ่งเป็นรูปแบบของรหัสสตรีมที่ใช้คีย์ครั้งเดียวเพื่อเข้ารหัสข้อมูลในแผ่นเดียวคีย์ที่สร้างขึ้นนั้นมีความยาวเท่ากับข้อมูลที่ต้องเข้ารหัสจะสุ่มอย่างสมบูรณ์และไม่เคยใช้อีกที่อื่นเลยดังนั้นชื่อ

เมื่อประมวลผลกับข้อมูลที่จะเข้ารหัสโดยทั่วไปเรียกว่าข้อความธรรมดา ciphertext ผลลัพธ์เป็นไปไม่ได้ที่จะถอดรหัสโดยไม่มีคีย์แผ่นเดียวเป็นเรื่องยากที่จะจัดการในสถานการณ์ส่วนใหญ่และดังนั้นจึงใช้สำหรับสถานการณ์พิเศษเท่านั้นถึงกระนั้นรหัสสตรีมก็มักจะถือว่ามีประโยชน์ดังนั้นกุญแจจึงสั้นลงและทำให้เทียมในการหลอกซึ่งหมายความว่าพวกเขาสุ่มทางสถิติ แต่ในความเป็นจริงไม่ใช่

สตรีมรหัสมีความสามารถในการเข้ารหัสทันทีด้วยวิธีนี้มันเป็นเรื่องง่ายสำหรับการใช้หัวสตรีมแบบง่าย ๆ ที่จะดำเนินการโดยผู้คนบนปากกาและกระดาษในขณะที่โดยทั่วไปแล้วการเข้ารหัสบล็อกต้องใช้คอมพิวเตอร์ในการประมวลผลข้อความธรรมดาไหลผ่านกระบวนการเข้ารหัสพร้อมกับปุ่มกดลำดับ pseudorandom ที่ประกอบขึ้นเป็นคีย์ที่มันถูกแปลงและออกมาอีกด้านหนึ่งเป็น ciphertext

การเข้ารหัสนี้เกิดขึ้นผ่านการดำเนินการพิเศษหรือ (XOR)ในแต่ละบิตเมื่อพวกเขาผ่านเข้ารหัสXor Cipher แบบง่าย ๆ ใช้ประเภทของการแยกเชิงตรรกะเป็นพื้นฐานซึ่งโดยพื้นฐานแล้วบอกว่าผลลัพธ์อาจเป็นจริงหากตัวถูกดำเนินการทั้งสองเป็นจริง แต่ไม่ใช่ทั้งสองอย่างตัวอย่างเช่นหากการเคลื่อนย้ายผ่านกระบวนการเข้ารหัสเป็นศูนย์หรือหนึ่งบิตและบิตปุ่มกดที่จับคู่ไม่ตรงกันผลลัพธ์ผลลัพธ์คือหนึ่งหากบิตบิตและปุ่มกดจับคู่ตรงกับที่ทั้งคู่เป็นหนึ่งหรือทั้งสองเป็นศูนย์ผลลัพธ์เป็นศูนย์สตรีมที่เข้ารหัสและศูนย์จะถูกถอดรหัสที่ปลายอีกด้านของการส่งโดยใช้ปุ่มกดเดียวกันเพื่อแปลงบิตกลับเป็นข้อความธรรมดาเดิม

มีการเข้ารหัสสตรีมสองประเภทด้วยการใช้วิธีการแบบซิงโครนัสคีย์สตรีมจะถูกสร้างแยกจาก plaintext หรือ ciphertext จากนั้นรวมกันเพื่อให้การเข้ารหัสหรือถอดรหัสด้วยวิธีนี้ทั้งปลายการส่งและการรับของการส่งจะต้องยังคงซิงโครไนซ์ในตำแหน่งที่พวกเขาทำงานบนคีย์เดียวกันและตำแหน่งเดียวกันในคีย์หากมีปัญหาเกิดขึ้นการถอดรหัสจำเป็นต้องเริ่มต้นใหม่หรืออาจมีธงที่วางไว้เป็นระยะ ๆ ตลอดทั้ง ciphertext ที่ระบุจุดเริ่มต้นใหม่ในทางกลับกันรหัสการซิงโครไนซ์ด้วยตนเองจะอัปเดตปุ่มกดตามจำนวนตัวเลขก่อนหน้าจำนวนหนึ่งใน ciphertext

หนึ่งในรหัสสตรีมที่ใช้บ่อยที่สุดที่เรียกว่า RC4 ถูกสร้างขึ้นโดย RSA Data Security มันได้รับอนุญาตและใช้ในผลิตภัณฑ์ซอฟต์แวร์จำนวนมากรวมถึงโปรโตคอล Secure Socket Layer (SSL) ที่ใช้ในการสื่อสารทางอินเทอร์เน็ตที่ปลอดภัยและการเข้ารหัสความเป็นส่วนตัวแบบต่อสาย (WEP) ที่ใช้กับอุปกรณ์ไร้สายรหัสที่ใช้แล้วมักจะเรียกว่า Oryx ซึ่งพบว่าใช้ในการส่งข้อมูลโทรศัพท์มือถือที่ต้องเข้ารหัสIBM reg;ยังได้พัฒนาวิธีการเข้ารหัสสตรีมที่เรียกว่าซีลซึ่งพบว่าใช้ในการเข้ารหัสฮาร์ดดิสก์