Transposition Cipher โดยใช้ Python Random Module

ในการเข้ารหัสแบบคลาสสิกเรามีการดำเนินการ 2 อย่างที่ใช้ตลอดประวัติศาสตร์ของการซ่อนข้อความและเปลี่ยนข้อความธรรมดาให้เป็นข้อความเข้ารหัส

การเปลี่ยนตัวและการขนย้าย

ในอัลกอริทึมการแทนที่ (ตามที่ใช้ในการเข้ารหัสซีซาร์และการเข้ารหัส vigenere) เราแทนที่อักขระหนึ่งด้วยอีกตัวหนึ่งโดยเปลี่ยนตำแหน่งในตัวอักษรด้วยจำนวนตำแหน่งที่กำหนดไว้ล่วงหน้า

ในอัลกอริธึมการขนย้ายตามที่ชื่อหมายถึงข้อความธรรมดาจะถูกเรียงลำดับใหม่เราจึงเปลี่ยนลำดับขององค์ประกอบ แต่ตัวละครยังคงเหมือนเดิม

ให้เราใช้โมดูลตัวสร้างตัวเลขสุ่มหลอกหลามเพื่อรับข้อความธรรมดาและใช้การดำเนินการขนย้ายโดยมีคีย์คือเมล็ดพันธุ์สุ่ม (ค่าเริ่มต้นที่เครื่องกำเนิดไฟฟ้าแบบสุ่มเริ่มการดำเนินการทางคณิตศาสตร์)

เราจะเริ่มและนำเข้าโมดูลแบบสุ่ม เราจะใช้การสุ่มเท่านั้น ฟังก์ชั่นตัวอย่างในนั้นเนื่องจากช่วยให้เราสามารถสุ่มสตริงได้

ตอนนี้สร้างตัวแปรที่เป็นที่บูลีน และให้ใช้ห่วงขณะ เพื่อให้เราสามารถดำเนินการต่อรหัสของเราซ้ำแล้วซ้ำอีก

เราจะต้องป้อนข้อมูลของผู้ใช้หนึ่งครั้งสำหรับข้อความเองและครั้งที่สองสำหรับคีย์

ลองสร้างมันขึ้นมา

อินพุตแรก"ข้อความของคุณคืออะไร" อันที่สอง"คีย์ของคุณคืออะไร"

ตอนนี้กุญแจเป็นส่วนที่น่าสนใจที่สุดเนื่องจากกุญแจของเราคือมูลค่าเมล็ดพันธุ์

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

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

ในขั้นตอนต่อไปเราจะใช้ฟังก์ชัน random.sample () ซึ่งใช้พารามิเตอร์สองตัว รายการแรกคือรายการหรือสตริงซึ่งในกรณีของเราคือข้อความ ที่เราเพิ่งเข้ามา อันที่สองคือความยาวของตัวอย่างที่เราต้องการเราต้องการจำนวนตัวอย่างเท่ากันกับสตริงของเรา จำนวนตัวอักษรเท่ากัน นั่นเป็นเหตุผลที่เราจะใช้ความยาวของข้อความ - len (ข้อความ)

บรรทัดสุดท้ายของรหัสคือการพิมพ์ข้อความที่เข้ารหัส

ตอนนี้เรียกใช้สคริปต์ของคุณ

ข้อความของคุณคืออะไร?

ข้อความจะ"attackatdawn"

กุญแจคืออะไร?

คีย์จะเป็น 9

ข้อความที่เข้ารหัสของเราคือ“ akaatcdwtatn”

ลองใช้คีย์เมล็ดพันธุ์แบบสุ่มอื่น

Suggested posts

วิธีเรียกใช้ปลั๊กอิน ChatGPT ฟรีโดยใช้ Langchain

วิธีเรียกใช้ปลั๊กอิน ChatGPT ฟรีโดยใช้ Langchain

คุณต้องเคยได้ยินเกี่ยวกับปลั๊กอิน ChatGPT อันทรงพลังใหม่ทั้งหมด เช่น เบราว์เซอร์ ตัวแปลรหัส ฯลฯ แต่มีปัญหา การเข้าถึงปลั๊กอินถูกจำกัดไว้เฉพาะรายการรอ และหลายคนไม่สามารถเข้าถึงได้

การสร้าง zk-SNARKs (เล่มที่ 2)

zkSNARKs สำหรับพหุนาม ทีละขั้นตอน

การสร้าง zk-SNARKs (เล่มที่ 2)

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

Related posts

การแสดงเดี่ยวของสาวผมแดง

เมื่อได้รับมอบหมายจากเฮย์เดน เคธี่ถ่ายคลิปตัวเองช่วยตัวเอง

การแสดงเดี่ยวของสาวผมแดง

หลังเที่ยงคืน Hayden ขับรถพา Katie กลับไปที่หอพักของวิทยาลัยหลังจากพวกเขาอยู่ด้วยกันในตอนเย็น เธอมีเรียนแต่เช้าและไม่มีเสื้อผ้าเปลี่ยนอีกหลังจากค้างกับเขาเมื่อคืนก่อน

คลังข้อมูลภัยคุกคามนั้น: เล่มที่ 7 Black Basta

คลังข้อมูลภัยคุกคามนั้น: เล่มที่ 7 Black Basta

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

ศิลปะเคยไม่ฝักใฝ่ฝ่ายใดหรือไม่?

ศิลปะเคยไม่ฝักใฝ่ฝ่ายใดหรือไม่?

เมื่อวานนี้ เราปิดการแข่งขัน Eurovision Song Contest ปีนี้ด้วยตอนจบที่สดใสและวุ่นวาย โดย Loreen นักร้องชาวสวีเดนคว้าถ้วยรางวัลกลับบ้าน กลายเป็นผู้หญิงคนแรกที่ชนะสองครั้งและนำมงกุฎกลับมายังสวีเดน 50 ปีหลังจาก ABBA ชนะการแข่งขัน กับ “วอเตอร์ลู” พวกเขากลายเป็นหนึ่งในการแสดงที่ยิ่งใหญ่ที่สุดในวงการเพลงป๊อป

การพังทลายอย่างช้าๆ: เปิดเผยวิธีที่ผู้คนสูญเสียไปในอาชีพของพวกเขา

การพังทลายอย่างช้าๆ: เปิดเผยวิธีที่ผู้คนสูญเสียไปในอาชีพของพวกเขา

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