![cover image](https://wikiwandv2-19431.kxcdn.com/_next/image?url=https://upload.wikimedia.org/wikipedia/commons/thumb/4/47/Salsa_round_function.svg/langfa-640px-Salsa_round_function.svg.png&w=640&q=50)
سالسا۲۰
From Wikipedia, the free encyclopedia
سالسا۲۰ و رمز دیگر نزدیک به آن، ChaCha، رمزهای جریانی هستند که توسط دنیل ج. برنشتاین ساخته شدهاند. Salsa20، رمز اصلی، در سال ۲۰۰۵ طراحی شد و مدتی بعد توسط برنشتاین به eSTREAM ارائه داده شد. Chacha نسخه اصلاح شدهی Salsa20 است که در سال ۲۰۰۸ منتشر شدهاست. این رمز از یک تابع رندکننده جدید استفاده میکند که پراکنش را افزایش میدهد و کارایی (performance) را در برخی معماریها بالا میبرد.[3]
![]() تابع ربع دور Salsa. 4 نسخه کپی موازی تشکیل یک دور میدهند. | |
عمومی | |
---|---|
طراحان | دنیل برنشتاین |
تاریخ اولین انتشار | ۲۰۰۷ (طراحیشده در ۲۰۰۵)[1] |
موارد پسین | ChaCha |
مرتبط با | Rumba20 |
بهترین تحلیل رمز منتشر شده | |
تحلیل رمز سال ۲۰۰۸ ۸ دور از ۲۰ تا را برای بازیابی کلید مخفی ۲۵۶ بیتی در ۲۲۵۱ عملیات میشکند، با استفاده از ۲۳۱ زوج از جریان کلید.[2] |
هر دو رمز براساس یک تابع شبه تصادفی ساخته شدهاند که مبتنی بر عملیات جمع-چرخش-xor (ARX)میباشد؛ جمع ۳۲ بیتی، عملیات چرخش و جمع بیت به بیت (XOR). تابع اصلی، یک کلید ۲۵۶ بیتی، یک نانس ۶۴ بیتی و یک شمارنده ۶۴ بیتی را به یک بلوک ۵۱۲ بیتی از کلید جریانی (key stream) مپ میکند. (نسخهی Salsa با کلید ۱۲۸ بیتی نیز وجود دارد). این امر به Salsa20 و Chacha این مزیت غیرمعمول را میدهد که کاربر میتواند به هر نقطهای در جریان کلید در زمانی ثابت (O(1))دست یابد. Salsa20 در پردازندههای مدرن x86،[4] سرعتی در حدود ۴–۱۴ سیکل بر بایت از نظر نرمافزاری و عملکردی معقول از نظر سختافزاری ارائه میدهد. این اختراع ثبت نشدهاست و برنشتاین چندین نسخه از نوع مالکیت عمومی بهینه شده برای معماریهای متداول نوشتهاست.[5]