تحلیل فراوانی
در مبحث تحلیل رمز، تحلیل فراوانی به مطالعهٔ تعداد دفعات تکرار یک حرف یا گروهی از حروف در یک متن رمزنگاری‌شده گفته می‌شود. از همین رو به تحلیل فراوانی، حروف‌شماری نیز می‌گویند. از این روش با هدفِ کمک به درهم شکستن روش‌های رمزنگاری کلاسیک استفاده می‌شود. این روش بر این پایه بنا شده‌است که در هر قطعه‌ای از یک زبان، هر حرفی (یا گروهی از حروف)، تعداد تکرار متفاوتی دارند. علاوه بر این، توزیع مشخصهٔ حروف الفبا تقریباً در تمام زبان‌ها یکسان است. برای مثال، در زبان انگلیسی، حروفِ ، ، و بسیار رایج و پرتکرار هستند، و کاربردِ حروفِ ، و اندک است. به‌طور مشابه، ، ، و پرتکرارترین جفت حروف (به آنها bigram یا digram نیز می‌گویند) هستند، و ، ، و هم از نظر تعدادِ تکرارِ یک حرف خاص، رایج‌ترین جفت‌ها هستند. عبارت بی‌معنیِ نشان‌دهندهٔ ۱۲ حرف پرکاربرد در زبان انگلیسی عمومی است.
در برخی از روش‌های رمزنگاری، خصوصیات اینچنین زبان‌های طبیعی در متن رمزنگاری‌شده هم حفظ می‌شود و می‌توان با پیدا کردن این الگو، متن موردنظر را رمزگشایی کرد.
در یک رمزنگاری جانشینی ساده، هر حرف متن اصلی با یک حرف دیگر جایگزین می‌شود و هر حرف در متن اصلی همیشه به یک حرف مشخص در متن رمزشده تبدیل خواهد شد. برای مثال، اگر تمام رخدادهای حرف به حرف تبدیل شود، یک متن رمزشده شامل تعداد زیادی حرف خواهیم داشت و این به یک رمزنگار نشان خواهد داد که نمایانگر است.
استفاده‌ی ابتدایی از تحلیل فراوانی به این صورت است که فراوانی هر حرف متن رمزشده را حساب کنیم و سپس با توجه به آن، به صورت تخمینی حروف متن اصلی را به حروف متن رمز شده نسبت دهیم. هر چه تعداد در متن رمزشده نسبت به باقی حروف بیشتر باشد به این معنی است که احتمالا نمایانگر در متن اصلی است ولی این نتیجه گیری چندان هم قطعی نیست. و نیز حروف رایجی در زبان انگلیسی هستند پس می‌تواند هرکدام از آنها باشد. این اتفاق برای حروف و که کمتر رایج‌اند، بعید است اتفاق بیافتاد. بنابراین احتمالا رمزنگار باید چندین ترکیب از نگاشت حروف متن اصلی و رمزشده را بررسی کند.
کاربردهای پیچیده‌تر از کابردهای آماری را نیز می توان برای این تحلیل تصور کرد، مانند در نظر گرفتن تعداد جفت‌ها(bigrams)، سه تایی‌ها(trigrams) و غیره. این عمل برای تهیه اطلاعات بیشتر برای رمزنگار انجام می‌شود. برای مثال، و تقریبا همیشه با این ترتیب در زبان انگلیسی رخ می‌دهند حتی اگر خود به تنهایی کمیاب باشد.
فرض کنید Eve، متن رمز‌شده زیر را یافته است و از قبل مشخص شده است که با استفاده از یک رمزنگاری جانشینی ساده به صورت زیر رمزگذاری شده است: برای این مثال، از حروف بزرگ برای نمایش متن رمزشده استفاده شده است، از حروف کوچک برای نمایش متن اصلی استفاده شده است و ~ برای نمایش یک حدس به کار میرود که در آن حرف متن رمزشده نمایان‌گر حرف متن اصلی است.
Eve می‌تواند از تحلیل فراوانی استفاده کند تا در شکستن متن رمز‌شده به او کمک کند. تعداد حروف در متن رمز‌شده نشان می‌دهد که رایج‌ترین تک حرف است، رایج‌ترین bigram و رایج‌ترین trigram است. در زبان انگلیسیرایج‌ترین حرف، رایج‌ترین bigram و رایج‌ترین trigram است. این نتیجه‌گیری‌ها به شدت پیشنهاد می‌کنند که ~، ~ و ~ است. دومین حرف رایج در متن رمز‌شده، است. از آنجایی که اولین و دومین حرف رایج در زبان انگلیسی و به حروف متناظر خود نسبت داده شدند پس Eve حدس می‌زند که ~ یعنی سومین حرف رایج باشد. به طور آزمایشی با انجام این فرضیات بخشی از پیام رمزگشایی می‌شود.
با استفاده از این حدس‌های اولیه Eve‌ الگوهایی که انتخاب‌هایش را تایید می‌کند، استخراج کرده است مانند "". علاوه بر این، الگوهای دیگر حدس‌های دیگری را پیشنهاد می‌دهند. "" احتمالا "" است که یعنی ~. به طرز مشابهی "" می‌تواند "" باشد که به معنی ~ و ~ است. "" احتمالا "" بوده است پس ~. با انجام این فرضیات، Eve به این متن رسید.
سپس این فرضیات حدس‌های دیگری را پیشنهاد می‌دهند(برای مثال "" می‌تواند "" باشد یعنی ~) و به همین ترتیب، استنباط حروف دیگر به صورت نسبی ساده است و در نهایت به متن اصلی زیر متنهی می‌شود.
در این مرحله لازم است تا Eve فاصله‌گذاری و نقطه‌گذاری‌ها را وارد کند: در این مثال از The Gold-Bug، تمام حدس‌های Eve درست بودند. همیشه اینطور نخواهد بود با این حال تغییر در آمارهای متن‌های اصلی منحصر بفرد می‌تواند به این معنا باشد که حدس‌های اولیه درست نیستند. شاید لازم باشد حدس‌های غلط را backtrack کرد یا آمارهای در دسترس را با عمق بیشتری نسبت به توجیهات ساده شده مثال بالا، بررسی کرد. همچنین ممکن است متن اصلی توزیع مورد انتظار فراوانی حروف را نداشته باشد. پیام‌های کوتاه‌تر تنوع بیشتری دارند. امکان ساختن متن‌های ساختگی نیز وجود دارد. برای مثال رمان‌هایی وجود دارند که به صورت کامل بدون استفاده از حرف نوشته شده اند – یک نوع خاص از ادبیات به نام ستردگی.
اولین توضیح ثبت شده‌ی مشخص از تحلیل فراوانی(در حقیقت هر نوعی از رمزنگاری) در قرن نهم توسط ابویوسف کندی، یک علامه عرب، در "دست‌نوشته ایی در باب رمزگشایی پیام‌های رمزنگاری شده‌" ارائه شد. به نظر می‌رسد که مطالعه دقیق متن قرآن برای اولین بار باعث روشن‌سازی این موضوع شده است که زبان عربی نیز دارای ویژگی فراوانی حروف است. استفاده از آن گسترش یافت و سیستم‌های مشابهی به طور گسترده در ایالت‌های اروپا در زمان رنسانس مورد استفاده قرار گرفت. در 1474 سیسو سیمونتا یک راهنما برای رمزگشایی متن‌های لاتین و ایتالیایی نوشت. تحلیل فراوانی عربی و همچنین مطالعه مفصل تحلیل فراوانی حروف و کلمات کل کتاب قرآن توسط مقاله Intellaren تهیه شده است.
چندین طرح توسط رمزنگاران برای غلبه بر ضعف‌های رمزنگاری جایگزینی ساده اختراع شده است. شامل:عیب همه این رویکردها در غلبه بر حمله‌های شمارش فراوانی، این است که باعث افزایش پیچیدگی رمزگشایی و رمزگذاری می‌شود که منجر به اشتباه می‌شود. گفته می‌شود یک دبیر خارجی بریتانیایی رمزنگاری playfair رد کرد به این علت که حتی اگر پسربچه‌های مدرسه‌ای هم بتوانند با موفقیت از عهده Wheatstone و Playfair برآیند، “کارکنان ما هرگز نمی توانند آن را یاد بگیرند”.
ماشین‌های گردان اوایل نیمه‌ی قرن بیستم(برای مثال ماشین انیگما) ضرورتا به تحلیل‌های فراوانی مستقیم ایمن بودند. با این حال دیگر نوع‌های تحلیل( "حمله ها") با موفقیت پیام‌ها را از برخی از آن ماشین‌ها رمزگشایی کردند.
تحلیل فراوانی فقط نیازمند یک درک ابتدایی از آمار زبان متن اصلی، برخی مهارت‌های حل مسئله و اگر به صورت دستی حل شود، توانایی برای سامان‌دهی حروف زیاد است. در طول جنگ جهانی دوم، بریتانیایی‌ها و آمریکایی‌ها با منتشر کردن جدول کلمات متقاطع در روزنامه‌ها و برگزاری مسابقات برای کسانی‌که بتوانند سریع‌تر از همه آنها را حل کنند،افرادی که رمزگشایی می‌کردند را استخدام کرده بودند. بسیاری از رمزهایی که توسط نیروهای محور استفاده می‌شدند با استفاده از تحلیل فراوانی قابل رمزگشایی بودند. برای مثال رمزهای کنسولگری مورد استفاده ژاپنی‌ها. روش‌های مکانیکی شمارش حروف و تحلیل آماری(عمدتا ماشین‌های با نوع کارت IBM) اولین بار در جنگ جهانی دوم احتمالا توسط ارتش SIS آمریکا استفاده شدند. امروزه کار سخت شمارش و تحلیل حروف با نرم‌افزار‌های کامپیوتری جایگزین شده‌اند که قابلیت تحلیل در عرض چند ثانیه را دارند. با قدرت محاسبه مدرن، بعید است که رمزهای کلاسیک بتوانند به صورت واقعی از داده‌های محرمانه محافظت کنند.
تحلیل فراوانی در داستان‌ها نیز توصیف شده‌اند. سوسک طلایی متعلق به ادگار آلن پو و داستان ماجرای مردان رقصان متعلق به مجموعه شرلوک هلمز از آرتور کانن دویل مثال‌هایی از داستان‌هایی هستند که استفاده از تحلیل فراوانی را برای حمله به رمزنگاری جایگزینی ساده توصیف کرده‌اند. رمزگذاری در داستان Poe، با چندین معیار فریبانه رمزگذاری شده بود ولی این بیشتر یک دستگاه ادبی است تا هر چیز مهم رمزنگارانه.