رمزنگاری جابه‌جایی

از ویکی‌پدیا، دانشنامهٔ آزاد
پرش به: ناوبری، جستجو

در رمزنگاری کلاسیک، رمزنگاری جابجایی (به انگلیسی: Transposition cipher) روشی است که با جابجا کردن حروف عمل رمز کردن را انجام می‌دهد و با اجرای برعکس آن رمزگشایی صورت می‌گیرد. از دید ریاضی یک تابع یک به یک بر روی مکان حروف کار رمزکردن را انجام می‌دهد و معکوس آن برای رمزگشایی استفاده می‌گردد.رمزهای جابجایی ترتیب حروف را عوض می کنند ولی آنها را تغییر نمی‌دهند. در ادامه نمونه هایی از رمزنگاری جا‌به‌جایی معرفی شده اند.

سیستم رمز ریلی[ویرایش]

در این نوع سیستم همانطور که از نام آن برمی‌آید،ابتدا به تعداد دلخواهی ریل(خط) تشکیل می‎‌دهیم. سپس حروف متنی که می خواهیم آن را رمز کنیم را به ترتیب از ابتدای ریل اول به صورت زیگزاگ قرار می‌دهیم. به عنوان نمونه اگر متن اصلی ما 'WE ARE DISCOVERED. FLEE AT ONCE' باشد متن رمز شده‌ی آن به شکل زیر به دست می آید:

W . . . E . . . C . . . R . . . L . . . T . . . E
. E . R . D . S . O . E . E . F . E . A . O . C .
. . A . . . I . . . V . . . D . . . E . . . N . .

حال به صورت سطری این حروف را کنار هم قرار می‌دهیم و به متن زیر می‌رسیم:

WECRLTEERDSOEEFEAOCAIVDEN

در این سیستم فضای کلید برابر تعداد ریل هایی است که می توان تعریف کرد.

سیستم رمز مسیری[ویرایش]

در این نوع سیستم ابتدا حروف را در جدولی به ابعاد مشخص قرار می‌دهیم سپس با استفاده از یک الگوی معینی حروف داخل جدول را کنار هم قرار می‌دهیم و متن رمز شده را به دست می‌آوریم. برای مثال برای همان متن رمزی سیستم ریلی داریم :

W R I O R F E O E 
E E S V E L A N J 
A D C E D E T C X 

مسیر خواندن حروف را 'مارپیچی در جهت عقربه های ساعت به سمت داخل از راست بالای جدول' تعریف می‌کنیم پس داریم:

EJXCTEDECDAEWRIORFEONALEVSE

در مقایسه با سیستم ریلی فضای کلید در حالت بسیار بیشتر است و شامل تمام مسیر هایی است که در جدول بدست آمده می توان تشکیل داد.

سیستم جا‌به‌جایی ستونی[ویرایش]

در این سیستم رمزنگاری ابتدا متن اصلی را در ردیف هایی به طول معین قرار می‌دهیم سپس جدول به دست آمده را به صورت ستونی اما به صورت درهم ریخته می‌خوانیم. ترکیب طول ردیف‌ها و جا‌به‌جایی انجام شده در انتخاب ستون‌ها کلید را مشخص می کنند.

در سیستم رمز جابه‌جایی ستونی منظم، فاصله‌های اضافی جدول با NULL جایگزین می‌شود اما در سیستم رمز جا‌به‌جایی نامنظم فاصله‌های اضافی با Blank جایگزین می‌شود. فرض کنید می خواهیم جمله‌ی WE ARE DISCOVERED. FLEE AT ONCE. را با کلید ZEBRAS رمز کنیم. با توجه به ترتیب حروف در کلمه رمز، ستون‌ها به این ترتیب خوانده خواهند شد: "5 1 4 2 3 6" ؛ پس:

6 3 2 4 1 5
W E A R E D
I S C O V E 
R E D F L E 
E A T O N C 
E Q K J E U 

با قرار دادن QKJEU به عنوان NULL متن رمز شده به صورت زیر بدست می‌آید:

EVLNE ACDTK ESEAQ ROFOJ DEECU WIREE

اما در صورتی که از سیستم رمز نامنظم استفاده کنیم داریم:

6 3 2 4 1 5
W E A R E D 
I S C O V E 
R E D F L E 
E A T O N C 
E 

و متن رمزی بدست آمده به شکل زیر خواهد بود:

EVLNA CDTES EAROF ODEEC WIREE

سیستم رمز Myszkowski[ویرایش]

این سیستم در سال 1902 توسط Émile Victor Théodore Myszkowski پیشنهاد شد. این سیستم رمزنگاری مشابه جا‌به‌جایی ستونی می‌باشد با این تفاوت که کلید در رمز جابه‌جایی ستونی در صورتی که حروف تکراری داشته باشد از سمت چپ کوچکترین عدد اختصاص داده می‌شود در حالی که در این سیستم به حروف یکسان عدد یکسانی داده می شود و هنگامی که می خواهیم متن رمز شده را تشکیل دهیم، ستون های به عدد یکسان را به صورت ردیفی می‌خوانیم. ستون هایی که اعداد یکسان ندارند را به همان صورت قبلی یعنی ستونی می‌خوانیم. واضح است که این سیستم در صورتی که کلید حرف تکراری نداشته باشد مشابه سیستم جابه‎جایی ستونی می‌باشد. به عنوان مثال در رمز جابه‌جایی ستونی برای کلید TOMATO ، ترتیب 532164 به دست می‌آید ولی در این سیستم برای همین کلمه ترتیب 432143 به دست می‌آید. اگر با کلید TOMATO بخواهیم متن WE ARE DISCOVERED. FLEE AT ONCE. را رمز کنیم داریم:

4 3 2 1 4 3
W E A R E D
I S C O V E
R E D F L E
E A T O N C
E
ROFOA CDTED SEEEA CWEIV RLENE 

شناسایی و امنیت سیستم[ویرایش]

با توجه به اینکه در این خانواده از سیستم‌ها کاراکتر‌ها صرفا جا‌به‌جا می‌شوند، فرکانس یا پراکندگی کاراکترها در یک متن تغییری نمی‌کند. پس حمله‌کننده با در اختیار داشتن درصد پراکندگی حروف می تواند تناظر یک‌ به یکی بین حروف متن و حروف جدول درصد پراکندگی برقرار کند و متن اصلی را بازیابی کند.

منابع[ویرایش]

  • مشارکت‌کنندگان ویکی‌پدیا، «Transposition cipher»، ویکی‌پدیای انگلیسی، دانشنامهٔ آزاد (بازیابی در ۱۶ نوامبر ۲۰۰۸).