ஹாஷ் செயல்பாடு என்றால் என்ன? டேட்டா ஹாஷிங் அல்காரிதம்கள்

C++ இல் உள்ள சிக்கல்களைத் தீர்க்கும் போது ஹாஷிங்.

கணிசமான எண்ணிக்கையிலான உறுப்புகளை தேடல் விசையுடன் பார்க்கவும் ஒப்பிடவும் வேண்டியதன் காரணமாக பெரிய அளவிலான தகவல்களில் தரவைத் தேடும் செயல்முறை நேரத்தை எடுத்துக்கொள்ளும். பார்க்கும் பகுதியை உள்ளூர்மயமாக்குவதன் மூலம் தேடலைக் குறைக்கலாம். எடுத்துக்காட்டாக, தேடல் விசை மூலம் தரவை வரிசைப்படுத்தவும், சில குழு பண்புகளின்படி அதை ஒன்றுடன் ஒன்று அல்லாத தொகுதிகளாகப் பிரிக்கவும் அல்லது தேடல் செயல்முறையை எளிதாக்கும் ஒரு குறிப்பிட்ட குறியீட்டுடன் உண்மையான தரவை பொருத்தவும்.

தற்போது, ​​வெளிப்புற நினைவகத்தில் சேமிக்கப்பட்ட தகவல்களை விரைவாக அணுகுவதற்கான பரவலாகப் பயன்படுத்தப்படும் முறை ஹாஷிங் ஆகும்.

ஹாஷிங்(அல்லது ஹாஷிங், ஆங்கிலம் ஹாஷிங்) என்பது ஒரு குறிப்பிட்ட வகை மற்றும் தன்னிச்சையான நீளத்தின் உள்ளீட்டு தரவு வரிசையை ஒரு நிலையான நீளத்தின் வெளியீட்டு பிட் சரமாக மாற்றுவதாகும். இத்தகைய மாற்றங்கள் என்றும் அழைக்கப்படுகின்றன ஹாஷ் செயல்பாடுகள்அல்லது கன்வல்யூஷன் செயல்பாடுகள் மற்றும் அவற்றின் முடிவுகள் அழைக்கப்படுகின்றன ஹாஷ், ஹாஷ் குறியீடு, ஹாஷ் அட்டவணைஅல்லது ஜீரணிக்கசெய்திகள் (ஆங்கிலம்) செய்தி செரிமானம்).

ஹாஷ் அட்டவணை- இது தரவு அமைப்பு, இது துணை வரிசை இடைமுகத்தை செயல்படுத்துகிறது, அதாவது, முக்கிய-மதிப்பு ஜோடிகளைச் சேமித்து மூன்று செயல்பாடுகளைச் செய்ய இது உங்களை அனுமதிக்கிறது: புதிய ஜோடியைச் சேர்க்கும் செயல்பாடு, தேடல் செயல்பாடு மற்றும் விசை மூலம் ஒரு ஜோடியை நீக்கும் செயல்பாடு. ஹாஷ் அட்டவணை என்பது ஹாஷ் செயல்பாட்டின் மூலம் ஒரு குறிப்பிட்ட வரிசையில் உருவாக்கப்பட்ட ஒரு வரிசை ஆகும்.

  • கணக்கீட்டுக் கண்ணோட்டத்தில் செயல்பாடு எளிமையாக இருக்க வேண்டும்;
  • செயல்பாடு ஹாஷ் அட்டவணையில் உள்ள விசைகளை முடிந்தவரை சமமாக விநியோகிக்க வேண்டும்;
  • செயல்பாடு முக்கிய மதிப்புகளுக்கு இடையிலான எந்த உறவையும் முகவரி மதிப்புகளுக்கு இடையிலான உறவாக வரைபடமாக்கக்கூடாது;
  • செயல்பாடு மோதல்களின் எண்ணிக்கையைக் குறைக்க வேண்டும் - அதாவது, வெவ்வேறு விசைகள் ஒரே ஹாஷ் செயல்பாட்டு மதிப்புக்கு ஒத்திருக்கும் சூழ்நிலைகள் (இந்த வழக்கில் உள்ள விசைகள் அழைக்கப்படுகின்றன ஒத்த சொற்கள்).

இந்த வழக்கில், ஒரு நல்ல ஹாஷ் செயல்பாட்டின் முதல் சொத்து கணினியின் பண்புகளைப் பொறுத்தது, இரண்டாவது - தரவு மதிப்புகள்.

எல்லா தரவும் சீரற்றதாக இருந்தால், ஹாஷ் செயல்பாடுகள் மிகவும் எளிமையானதாக இருக்கும் (உதாரணமாக, சில முக்கிய பிட்கள்). இருப்பினும், நடைமுறையில், சீரற்ற தரவு மிகவும் அரிதானது, நீங்கள் முழு விசையையும் சார்ந்து ஒரு செயல்பாட்டை உருவாக்க வேண்டும். ஒரு ஹாஷ் செயல்பாடு மக்கள்தொகையை விநியோகித்தால் சாத்தியமான விசைகள்ஒரே மாதிரியான பல குறியீடுகளில், ஹாஷிங் பல விசைகளை திறம்பட பிரிக்கிறது. அனைத்து விசைகளும் ஒரே குறியீட்டில் மாற்றப்படும் போது மோசமான நிலை.

மோதல்கள் நிகழும்போது, ​​அதே ஹாஷ் டேபிள் கலத்தைக் கூறும் விசைகளைச் சேமிப்பதற்கான புதிய இடத்தைக் கண்டுபிடிப்பது அவசியம். மேலும், மோதல்கள் அனுமதிக்கப்பட்டால், அவற்றின் எண்ணிக்கை குறைக்கப்பட வேண்டும். சில சிறப்பு சந்தர்ப்பங்களில் மோதல்களை முற்றிலும் தவிர்க்க முடியும். எடுத்துக்காட்டாக, அனைத்து உறுப்பு விசைகளும் முன்கூட்டியே தெரிந்திருந்தால் (அல்லது மிகவும் அரிதாகவே மாறினால்), சில ஊசி ஹாஷ் செயல்பாட்டைக் காணலாம், அவை ஹாஷ் அட்டவணையின் செல்கள் முழுவதும் மோதல்கள் இல்லாமல் விநியோகிக்கப்படும். ஒத்த ஹாஷ் செயல்பாடுகளைப் பயன்படுத்தும் ஹாஷ் அட்டவணைகளுக்கு மோதல் தெளிவுத்திறன் நுட்பம் தேவையில்லை, மேலும் அவை ஹாஷ் அட்டவணைகள் என்று அழைக்கப்படுகின்றன. நேரடி முகவரி.

ஹாஷ் அட்டவணைகள் பின்வருவனவற்றுடன் பொருந்த வேண்டும் பண்புகள்.

  • ஹாஷ் அட்டவணையில் ஒரு செயல்பாட்டைச் செய்வது விசையின் ஹாஷ் செயல்பாட்டைக் கணக்கிடுவதன் மூலம் தொடங்குகிறது. இதன் விளைவாக வரும் ஹாஷ் மதிப்பு அசல் அணிவரிசையில் ஒரு குறியீடாகும்.
  • சேமிக்கப்பட்ட வரிசை உறுப்புகளின் எண்ணிக்கை சாத்தியமான ஹாஷ் மதிப்புகளின் எண்ணிக்கையால் வகுக்கப்படும் ஹாஷ் அட்டவணை நிரப்பு காரணி (சுமை காரணி) மற்றும் இது ஒரு முக்கியமான அளவுரு ஆகும், இதில் சராசரி செயல்பாட்டு நேரம் செயல்பாடுகளைச் சார்ந்துள்ளது.
  • சராசரியாக O(1) நேரத்தில் தேடுதல், செருகுதல் மற்றும் நீக்குதல் செயல்பாடுகள் முடிக்கப்பட வேண்டும். இருப்பினும், வரிசை அளவு மதிப்பை அதிகரிப்பது மற்றும் ஹாஷ் அட்டவணையில் ஒரு புதிய ஜோடியைச் சேர்ப்பது ஆகியவற்றுடன் தொடர்புடைய ஹாஷ் அட்டவணை குறியீட்டை மீண்டும் உருவாக்குவதற்கான சாத்தியமான வன்பொருள் செலவுகளை இந்த மதிப்பீடு கணக்கில் எடுத்துக்கொள்ளவில்லை.
  • மோதல் தெளிவுத்திறன் பொறிமுறையானது எந்த ஹாஷ் அட்டவணையிலும் ஒரு முக்கிய அங்கமாகும்.

பரந்த அளவிலான சாத்தியமான மதிப்புகள் சிறிய அளவிலான நினைவகத்தில் சேமிக்கப்பட வேண்டும் மற்றும் வேகமான, சீரற்ற அணுகல் தேவைப்படும் போது ஹாஷிங் பயனுள்ளதாக இருக்கும். ஹாஷ் அட்டவணைகள் பெரும்பாலும் தரவுத்தளங்களில் பயன்படுத்தப்படுகின்றன, குறிப்பாக மொழி செயலிகள்கம்பைலர்கள் மற்றும் அசெம்பிலர்கள் போன்றவை அடையாளங்காட்டி அட்டவணையை செயலாக்கும் வேகத்தை அதிகரிக்கின்றன. அன்றாட வாழ்க்கையில் ஹாஷிங்கைப் பயன்படுத்துவதற்கான எடுத்துக்காட்டுகளில் நூலகத்தில் உள்ள புத்தகங்களை கருப்பொருள் பட்டியல்களாக விநியோகித்தல், அகராதிகளில் சொற்களின் முதல் எழுத்துக்களால் வரிசைப்படுத்துதல், பல்கலைக்கழகங்களில் உள்ள சிறப்புகளை குறியாக்கம் செய்தல் போன்றவை அடங்கும்.

மோதல் தீர்க்கும் முறைகள்

மோதல்கள் ஹாஷ் அட்டவணைகளின் பயன்பாட்டை சிக்கலாக்குகின்றன, ஏனெனில் அவை ஹாஷ் குறியீடுகள் மற்றும் தரவுகளுக்கிடையேயான தனிப்பட்ட கடிதத் தொடர்பை உடைக்கின்றன. இருப்பினும், எழும் சிரமங்களை சமாளிக்க வழிகள் உள்ளன:

  • சங்கிலி முறை (வெளிப்புற அல்லது திறந்த ஹாஷிங்);
  • திறந்த முகவரி முறை (மூடிய ஹாஷிங்).

சங்கிலி முறை. உறுப்புகளின் ஒட்டுதல் தொழில்நுட்பம் அது தொகுப்பின் கூறுகள், அதே ஹாஷ் மதிப்புடன் தொடர்புடையது, ஒரு சங்கிலி பட்டியலில் இணைக்கப்பட்டுள்ளது. நிலை எண் i, முக்கிய ஹாஷ் மதிப்பு iக்கு சமமாக இருக்கும் உறுப்புகளின் பட்டியலின் தலையில் ஒரு சுட்டிக்காட்டி சேமிக்கிறது; தொகுப்பில் அத்தகைய கூறுகள் இல்லை என்றால், NULL i என்ற நிலையில் எழுதப்படும். படத்தில். படம் 38.1 மோதல்களைத் தீர்ப்பதற்கான சங்கிலி முறையை செயல்படுத்துவதை நிரூபிக்கிறது. விசை 002 இரண்டு மதிப்புகளால் கோரப்படுகிறது, அவை நேரியல் பட்டியலில் ஒழுங்கமைக்கப்பட்டுள்ளன.


அரிசி. 38.1.

ஒவ்வொரு வரிசை கலமும் விசையின் அதே ஹாஷ் மதிப்புடன் தொடர்புடைய விசை-மதிப்பு ஜோடிகளின் இணைக்கப்பட்ட பட்டியலுக்கு (செயின்) ஒரு சுட்டிக்காட்டி ஆகும். மோதல்கள் ஒரு தனிமத்தை விட நீளமான சங்கிலிகளை உருவாக்குகின்றன.

தேடல் அல்லது நீக்குதல் செயல்பாடுகளுக்கு, கொடுக்கப்பட்ட விசையுடன் ஒரு உறுப்பைக் கண்டறிய, தொடர்புடைய சங்கிலியின் அனைத்து கூறுகளையும் பார்க்க வேண்டும். தரவைச் சேர்க்க, தொடர்புடைய பட்டியலின் முடிவில் அல்லது தொடக்கத்தில் ஒரு உறுப்பைச் சேர்க்க வேண்டும், மேலும் நிரப்பு காரணி மிகப் பெரியதாக இருந்தால், வரிசையின் அளவை அதிகரித்து அட்டவணையை மீண்டும் உருவாக்கவும்.

ஒவ்வொரு உறுப்பும் சமமான நிகழ்தகவுடன் அட்டவணையின் எந்த நிலையிலும் விழலாம் என்ற அனுமானத்தின் கீழ் மற்றும் வேறு எந்த உறுப்பு விழுந்தாலும்,

பெரும்பாலும், டோரண்டுகள் அல்லது கோப்புகளைப் பதிவிறக்கும் போது, ​​விளக்கம் "ad33e486d0578a892b8vbd8b19e28754" (உதாரணமாக, ex.ua இல்), பெரும்பாலும் "md5" என்ற முன்னொட்டுடன் கூறுகிறது. இது ஹாஷ் குறியீடு - உள்வரும் தரவை செயலாக்கிய பிறகு ஹாஷ் செயல்பாடு உருவாக்கும் முடிவு. ஆங்கிலத்தில் இருந்து மொழிபெயர்க்கப்பட்ட ஹாஷ் என்றால் குழப்பம், மரிஜுவானா, களை அல்லது இறுதியாக நறுக்கப்பட்ட இறைச்சி மற்றும் காய்கறிகள் கொண்ட உணவு. மிக மிக கடினம், கிட்டத்தட்ட சாத்தியமற்றது என்று ஒருவர் கூறலாம். பின்னர் கேள்வி எழுகிறது: "இவை அனைத்தும் ஏன் தேவைப்படுகின்றன? அவர்கள் புரிந்துகொள்ள முடியாத கோபத்தை வெளிப்படுத்துகிறார்கள், இது புரிந்துகொள்ள முடியாதது?" இது இந்த கட்டுரையில் விவாதிக்கப்படும்.

ஹாஷ் செயல்பாடு என்றால் என்ன, அது எப்படி வேலை செய்கிறது?

இந்த செயல்பாடு தன்னிச்சையாக பெரிய அளவிலான உள்வரும் தரவை நிலையான நீள முடிவாக மாற்ற வடிவமைக்கப்பட்டுள்ளது. அத்தகைய மாற்றத்தின் செயல்முறை ஹாஷிங் என்று அழைக்கப்படுகிறது, இதன் விளைவாக ஹாஷ் அல்லது ஹாஷ் குறியீடு. சில நேரங்களில் "கைரேகை" அல்லது "செய்தி செரிமானம்" என்ற வார்த்தைகளும் பயன்படுத்தப்படுகின்றன, ஆனால் நடைமுறையில் அவை மிகவும் குறைவாகவே காணப்படுகின்றன. எந்த தரவு வரிசையையும் ஒரு குறிப்பிட்ட நீளமுள்ள எழுத்துக்களின் குறிப்பிட்ட வரிசையாக எப்படி மாற்றலாம் என்பதற்கு பல்வேறு வழிமுறைகள் நிறைய உள்ளன. மிகவும் பரவலாகப் பயன்படுத்தப்படும் அல்காரிதம் md5 என்று அழைக்கப்படுகிறது, இது 1991 இல் உருவாக்கப்பட்டது. இன்று md5 ஓரளவு காலாவதியானது மற்றும் பயன்படுத்த பரிந்துரைக்கப்படவில்லை என்ற போதிலும், அது இன்னும் பயன்பாட்டில் உள்ளது மற்றும் பெரும்பாலும் "ஹாஷ் குறியீடு" என்ற வார்த்தைக்கு பதிலாக, தளங்கள் வெறுமனே md5 ஐ எழுதி குறியீட்டைக் குறிக்கின்றன.

ஹாஷ் செயல்பாடு ஏன் தேவைப்படுகிறது?

முடிவை அறிந்தால், உள்ளீட்டுத் தரவைத் தீர்மானிப்பது கிட்டத்தட்ட சாத்தியமற்றது, ஆனால் அதே உள்ளீட்டுத் தரவு அதே முடிவை அளிக்கிறது. எனவே, கடவுச்சொல், உள்நுழைவு, அடையாள எண் மற்றும் பிற தனிப்பட்ட தகவல்கள் போன்ற மிக முக்கியமான தகவல்களைச் சேமிக்க ஹாஷ் செயல்பாடு (கன்வல்யூஷன் செயல்பாடு என்றும் அழைக்கப்படுகிறது) பயன்படுத்தப்படுகிறது. தரவுத்தளத்தில் சேமிக்கப்பட்டுள்ளவற்றுடன் பயனர் உள்ளிடும் தகவலை ஒப்பிடுவதற்குப் பதிலாக, அவர்களின் ஹாஷ்கள் ஒப்பிடப்படுகின்றன. தற்செயலான தகவல் கசிவு ஏற்பட்டால், முக்கியமான தரவை யாரும் தங்கள் சொந்த நோக்கங்களுக்காகப் பயன்படுத்த முடியாது என்பதை இது உறுதி செய்கிறது. ஹாஷ் குறியீட்டை ஒப்பிட்டுப் பார்ப்பதன் மூலம், இணையத்திலிருந்து கோப்புகள் சரியாகப் பதிவிறக்கப்படுகின்றனவா என்பதைச் சரிபார்க்கவும் வசதியாக இருக்கும், குறிப்பாக பதிவிறக்கத்தின் போது இணைப்புத் தடங்கல்கள் இருந்தால்.

ஹாஷ் செயல்பாடுகள்: அவை என்ன?டி

அதன் நோக்கத்தைப் பொறுத்து, ஹாஷ் செயல்பாடு மூன்று வகைகளில் ஒன்றாக இருக்கலாம்:

1. தகவலின் ஒருமைப்பாட்டை சரிபார்க்கும் செயல்பாடு

நெட்வொர்க்கில் நடக்கும் போது, ​​பாக்கெட்டின் ஹாஷ் கணக்கிடப்படுகிறது, மேலும் இந்த முடிவும் கோப்புடன் அனுப்பப்படும். வரவேற்புக்குப் பிறகு, ஹாஷ் குறியீடு மீண்டும் கணக்கிடப்பட்டு நெட்வொர்க்கில் பெறப்பட்ட மதிப்புடன் ஒப்பிடப்படுகிறது. குறியீடு பொருந்தவில்லை என்றால், இது பிழைகளைக் குறிக்கிறது, மேலும் சேதமடைந்த பாக்கெட் மீண்டும் அனுப்பப்படும். இந்த செயல்பாடு வேகமான கணக்கீட்டு வேகத்தைக் கொண்டுள்ளது, ஆனால் குறைந்த எண்ணிக்கையிலான ஹாஷ் மதிப்புகள் மற்றும் மோசமான நிலைத்தன்மை. இந்த வகையின் உதாரணம்: CRC32, இதில் 232 வெவ்வேறு மதிப்புகள் மட்டுமே உள்ளன.

2. கிரிப்டோகிராஃபிக் செயல்பாடு

(ND) க்கு எதிரான பாதுகாப்பிற்காகப் பயன்படுத்தப்படுகிறது. நெட்வொர்க்கில் கோப்பு பரிமாற்றத்தின் போது விபத்தின் விளைவாக தரவு சிதைவு ஏற்பட்டதா என்பதை சரிபார்க்க அவை உங்களை அனுமதிக்கின்றன. இந்த வழக்கில் உண்மையான ஹாஷ் பொதுவில் கிடைக்கிறது, மேலும் அதன் விளைவாக வரும் கோப்பின் ஹாஷை பல்வேறு நிரல்களைப் பயன்படுத்தி கணக்கிட முடியும். இத்தகைய செயல்பாடுகள் நீண்ட மற்றும் நிலையான ஆயுட்காலம் கொண்டவை, மேலும் மோதல்களைத் தேடுவது (வெவ்வேறு மூல தரவுகளின் முடிவுகளின் சாத்தியமான தற்செயல் நிகழ்வுகள்) மிகவும் கடினம். கடவுச்சொற்கள் (SH1, SH2, MD5) மற்றும் பிற மதிப்புமிக்க தகவல்களை தரவுத்தளத்தில் சேமிக்கப் பயன்படும் செயல்பாடுகள் இவை.

3. திறமையான தரவு கட்டமைப்பை உருவாக்க வடிவமைக்கப்பட்ட ஒரு செயல்பாடு

ஹாஷ் டேபிள் எனப்படும் ஒரு சிறப்பு கட்டமைப்பில் தகவல்களின் சுருக்கமான மற்றும் ஒழுங்கான அமைப்பே இதன் குறிக்கோள். அத்தகைய அட்டவணை புதிய தகவலைச் சேர்க்க, தகவலை நீக்க மற்றும் தேவையான தரவை மிக அதிக வேகத்தில் தேட அனுமதிக்கிறது.

ஹாஷ் செயல்பாடுகள் பல்வேறு வகையான தகவல் தொழில்நுட்பத் தொழில்களில் அவற்றின் பயன்பாட்டைக் கண்டறியும். அவை ஒருபுறம், பயனர்களிடையே தரவு பரிமாற்றத்தையும் பல்வேறு நோக்கங்களுக்காகப் பயன்படுத்தப்படும் கோப்புகளின் செயலாக்கத்தையும் கணிசமாக எளிதாக்கும் வகையில் வடிவமைக்கப்பட்டுள்ளன. ஹாஷ் செயல்பாடு தரவு கடவுச்சொல் பாதுகாப்பை உறுதி செய்வதற்கான முக்கிய கருவிகளில் ஒன்றாகும், அத்துடன் மின்னணு டிஜிட்டல் கையொப்பத்தைப் பயன்படுத்தி கையொப்பமிடப்பட்ட ஆவணங்களின் பரிமாற்றத்தை ஒழுங்கமைக்கிறது. கோப்பு தேக்ககத்தை மேற்கொள்ளக்கூடிய ஏராளமான தரநிலைகள் உள்ளன. அவற்றில் பல ரஷ்ய நிபுணர்களால் உருவாக்கப்பட்டன. எந்த வகையான ஹாஷ் செயல்பாடுகளை வழங்க முடியும்? அவற்றின் நடைமுறை பயன்பாட்டிற்கான முக்கிய வழிமுறைகள் யாவை?

அது என்ன?

முதலில், ஹாஷ் செயல்பாட்டின் கருத்தை ஆராய்வோம். இந்த சொல் பொதுவாக ஒரு குறிப்பிட்ட அளவு தகவலை கணித முறைகளைப் பயன்படுத்தி எழுத்துக்களின் குறுகிய வரிசையாக மாற்றுவதற்கான ஒரு வழிமுறையாக புரிந்து கொள்ளப்படுகிறது. ஹாஷ் செயல்பாட்டின் நடைமுறை முக்கியத்துவத்தை பல்வேறு பகுதிகளில் காணலாம். எனவே, ஒருமைப்பாட்டிற்கான கோப்புகள் மற்றும் நிரல்களை சரிபார்க்கும்போது அவை பயன்படுத்தப்படலாம். கிரிப்டோகிராஃபிக் ஹாஷ் செயல்பாடுகள் குறியாக்க அல்காரிதம்களிலும் பயன்படுத்தப்படுகின்றன.

சிறப்பியல்புகள்

ஆய்வின் கீழ் உள்ள அல்காரிதம்களின் முக்கிய பண்புகளை கருத்தில் கொள்வோம். அவர்களில்:

  • அசல் நீளத்தின் தரவை எழுத்துக்களின் குறுகிய வரிசையாக மாற்றுவதற்கான உள் வழிமுறைகளின் இருப்பு;
  • கிரிப்டோகிராஃபிக் சரிபார்ப்புக்கு திறந்திருக்கும்;
  • அசல் தரவை நம்பகத்தன்மையுடன் குறியாக்கம் செய்ய உங்களை அனுமதிக்கும் வழிமுறைகளின் இருப்பு;
  • சிறிய கணினி சக்தியைப் பயன்படுத்தும் போது மறைகுறியாக்கத்திற்கு ஏற்றவாறு.

ஹாஷ் செயல்பாட்டின் மற்ற முக்கிய பண்புகள் பின்வருமாறு:

  • தன்னிச்சையான நீளத்தின் ஆரம்ப தரவு வரிசைகளை செயலாக்கும் திறன்;
  • ஒரு நிலையான நீளத்தின் ஹாஷ் தொகுதிகளை உருவாக்கவும்;
  • வெளியீட்டில் செயல்பாட்டு மதிப்புகளை சமமாக விநியோகிக்கவும்.

கருதப்படும் வழிமுறைகள் 1-பிட் மட்டத்தில் உள்ளீடு தரவுக்கான உணர்திறனையும் கருதுகின்றன. அதாவது, ஒப்பீட்டளவில், மூல ஆவணத்தில் குறைந்தது 1 எழுத்து மாறினாலும், ஹாஷ் செயல்பாடு வித்தியாசமாக இருக்கும்.

ஹாஷ் செயல்பாடுகளுக்கான தேவைகள்

ஒரு குறிப்பிட்ட பகுதியில் நடைமுறை பயன்பாட்டிற்காக வடிவமைக்கப்பட்ட ஹாஷ் செயல்பாடுகளுக்கு பல தேவைகள் உள்ளன. முதலாவதாக, ஹாஷ் செய்யப்பட்ட ஆவணங்களின் உள் கட்டமைப்பில் ஏற்படும் மாற்றங்களுக்கு தொடர்புடைய அல்காரிதம் உணர்திறன் கொண்டதாக இருக்க வேண்டும். அதாவது, ஹாஷ் செயல்பாட்டில், நாம் ஒரு உரை கோப்பைப் பற்றி பேசினால், பத்தி மறுசீரமைப்புகள் மற்றும் ஹைபன்கள் அங்கீகரிக்கப்பட வேண்டும். ஒருபுறம், ஆவணத்தின் உள்ளடக்கங்கள் மாறாது, மறுபுறம், அதன் அமைப்பு சரிசெய்யப்படுகிறது, மேலும் இந்த செயல்முறை ஹாஷிங்கின் போது அங்கீகரிக்கப்பட வேண்டும். இரண்டாவதாக, கேள்விக்குரிய அல்காரிதம், தலைகீழ் செயல்பாடு (ஹாஷை அசல் ஆவணமாக மாற்றுவது) நடைமுறையில் சாத்தியமில்லாத வகையில் தரவை மாற்ற வேண்டும். மூன்றாவதாக, ஹாஷ் செயல்பாடு என்பது அல்காரிதம்களின் பயன்பாட்டை உள்ளடக்கியதாக இருக்க வேண்டும், இது ஹாஷ் வடிவத்தில் ஒரே மாதிரியான எழுத்துக்களை உருவாக்கும் சாத்தியத்தை கிட்டத்தட்ட நீக்குகிறது, வேறுவிதமாகக் கூறினால், மோதல்கள் என்று அழைக்கப்படும் தோற்றம். அவற்றின் சாராம்சத்தை சிறிது நேரம் கழித்து பார்ப்போம்.

ஒரு ஹாஷ் செயல்பாடு அல்காரிதம் பூர்த்தி செய்ய வேண்டிய குறிப்பிட்ட தேவைகளை முக்கியமாக சிக்கலான கணித அணுகுமுறைகளைப் பயன்படுத்துவதன் மூலம் அடைய முடியும்.

கட்டமைப்பு

பரிசீலனையில் உள்ள செயல்பாடுகளின் அமைப்பு என்னவாக இருக்கும் என்பதை ஆராய்வோம். நாம் மேலே குறிப்பிட்டது போல், பரிசீலனையில் உள்ள அல்காரிதங்களுக்கான முக்கியத் தேவைகளில் ஒன்று ஒரே திசை குறியாக்கத்தை உறுதி செய்வதாகும். ஹாஷ் மட்டும் வைத்திருக்கும் ஒருவரால் நடைமுறையில் அசல் ஆவணத்தைப் பெற முடியவில்லை.

அத்தகைய நோக்கங்களுக்காக பயன்படுத்தப்படும் ஹாஷ் செயல்பாட்டை எந்த கட்டமைப்பில் குறிப்பிடலாம்? அதன் கலவையின் எடுத்துக்காட்டு பின்வருமாறு இருக்கலாம்: H (ஹாஷ், அதாவது ஹாஷ்) = f (T (உரை), H1), இங்கு H1 என்பது உரை செயலாக்க அல்காரிதம் T. இந்தச் செயல்பாடு T அறிவு இல்லாமல் ஹாஷ் செய்கிறது H1 இன் முழு அளவிலான ஒரு கோப்பு கிட்டத்தட்ட சாத்தியமற்றது என்பதால் திறக்க முடியும்.

நடைமுறையில் ஹாஷ் செயல்பாடுகளைப் பயன்படுத்துதல்: கோப்புகளைப் பதிவிறக்குதல்

நடைமுறையில் ஹாஷ் செயல்பாடுகளைப் பயன்படுத்துவதற்கான விருப்பங்களை இப்போது விரிவாகப் படிப்போம். இணைய சேவையகங்களிலிருந்து கோப்புகளைப் பதிவிறக்குவதற்கு ஸ்கிரிப்ட்களை எழுதும் போது பொருத்தமான வழிமுறைகளின் பயன்பாடு பயன்படுத்தப்படலாம்.

பெரும்பாலான சந்தர்ப்பங்களில், ஒவ்வொரு கோப்பிற்கும் ஒரு குறிப்பிட்ட செக்சம் தீர்மானிக்கப்படுகிறது - இது ஹாஷ் ஆகும். இது சர்வரில் அமைந்துள்ள மற்றும் பயனரின் கணினியில் பதிவிறக்கம் செய்யப்பட்ட பொருளுக்கு ஒரே மாதிரியாக இருக்க வேண்டும். இது அவ்வாறு இல்லையென்றால், கோப்பு திறக்கப்படாமல் இருக்கலாம் அல்லது சரியாகத் தொடங்கப்படாமல் போகலாம்.

ஹாஷ் செயல்பாடு மற்றும் டிஜிட்டல் கையொப்பம்

டிஜிட்டல் கையொப்பம் கொண்ட ஆவணங்களின் பரிமாற்றத்தை ஒழுங்கமைக்கும்போது ஹாஷ் செயல்பாடுகளின் பயன்பாடு பொதுவானது. இந்த வழக்கில், கையொப்பமிடப்பட்ட கோப்பு ஹாஷ் செய்யப்படுவதால், அது உண்மையானதா என்பதை அதன் பெறுநர் சரிபார்க்க முடியும். மின்னணு விசையின் கட்டமைப்பில் ஹாஷ் செயல்பாடு முறையாக சேர்க்கப்படவில்லை என்றாலும், eToken போன்ற ஆவணங்களில் கையொப்பமிடப் பயன்படுத்தப்படும் வன்பொருளின் ஃபிளாஷ் நினைவகத்தில் பதிவு செய்ய முடியும்.

மின்னணு கையொப்பம் என்பது பொது மற்றும் தனிப்பட்ட விசைகளைப் பயன்படுத்தி ஒரு கோப்பின் குறியாக்கம் ஆகும். அதாவது, தனிப்பட்ட விசையைப் பயன்படுத்தி குறியாக்கம் செய்யப்பட்ட செய்தியானது மூலக் கோப்பில் இணைக்கப்பட்டுள்ளது, மேலும் டிஜிட்டல் கையொப்பம் பொது விசையைப் பயன்படுத்தி சரிபார்க்கப்படுகிறது. இரண்டு ஆவணங்களின் ஹாஷ் செயல்பாடு பொருந்தினால், பெறுநர் வைத்திருக்கும் கோப்பு உண்மையானதாக அங்கீகரிக்கப்படும், மேலும் அனுப்புநரின் கையொப்பம் சரியானதாக அங்கீகரிக்கப்படும்.

ஹாஷிங், நாம் மேலே குறிப்பிட்டது போல, நேரடியாக டிஜிட்டல் கையொப்பத்தின் ஒரு அங்கம் அல்ல, ஆனால் இது மின்னணு கையொப்பத்தைப் பயன்படுத்துவதற்கான வழிமுறைகளை மிகவும் திறம்பட மேம்படுத்த அனுமதிக்கிறது. எனவே, உண்மையில், ஹாஷை மட்டுமே குறியாக்கம் செய்ய முடியும், ஆவணம் அல்ல. இதன் விளைவாக, கோப்பு செயலாக்கத்தின் வேகம் கணிசமாக அதிகரிக்கிறது, அதே நேரத்தில் மிகவும் பயனுள்ள டிஜிட்டல் கையொப்ப பாதுகாப்பு வழிமுறைகளை வழங்குவது சாத்தியமாகும், ஏனெனில் இந்த விஷயத்தில் கணினி செயல்பாடுகளில் முக்கியத்துவம் அசல் தரவை செயலாக்குவதில் அல்ல, ஆனால் கையொப்பத்தின் கிரிப்டோகிராஃபிக் வலிமையை உறுதி செய்கிறது. ஹாஷ் செயல்பாடு, உரையை மட்டும் அல்லாமல், பல்வேறு தரவு வகைகளில் கையொப்பமிடுவதையும் சாத்தியமாக்குகிறது.

கடவுச்சொற்களை சரிபார்க்கிறது

ஹாஷிங்கைப் பயன்படுத்துவதற்கான மற்றொரு சாத்தியமான பகுதி, சில கோப்பு ஆதாரங்களுக்கான அணுகலைக் கட்டுப்படுத்த நிறுவப்பட்ட கடவுச்சொல் சரிபார்ப்பு அல்காரிதம்களின் அமைப்பு ஆகும். இத்தகைய சிக்கல்களைத் தீர்க்க சில வகையான ஹாஷ் செயல்பாடுகளை எவ்வாறு பயன்படுத்தலாம்? மிக எளிய.

உண்மை என்னவென்றால், பெரும்பாலான சேவையகங்களில், அணுகல் கட்டுப்பாடுகளுக்கு உட்பட்டது, கடவுச்சொற்கள் ஹாஷ் மதிப்புகளின் வடிவத்தில் சேமிக்கப்படுகின்றன. இது மிகவும் தர்க்கரீதியானது - கடவுச்சொற்கள் எளிய உரை வடிவத்தில் வழங்கப்பட்டால், அவற்றை அணுகும் ஹேக்கர்கள் இரகசியத் தரவை எளிதாகப் படிக்க முடியும். இதையொட்டி, ஹாஷ் அடிப்படையில் கடவுச்சொல்லை கணக்கிடுவது எளிதல்ல.

கேள்விக்குரிய அல்காரிதம்களைப் பயன்படுத்தும் போது பயனர் அணுகல் எவ்வாறு சரிபார்க்கப்படுகிறது? பயனர் உள்ளிட்ட கடவுச்சொல், சேவையகத்தில் சேமிக்கப்படும் ஹாஷ் செயல்பாட்டில் பதிவுசெய்யப்பட்டவற்றுக்கு எதிராகச் சரிபார்க்கப்படுகிறது. உரைத் தொகுதிகளின் மதிப்புகள் பொருந்தினால், பயனர் ஆதாரங்களுக்கான தேவையான அணுகலைப் பெறுகிறார்.

எளிமையான ஹாஷ் செயல்பாட்டை கடவுச்சொல் சரிபார்க்கும் கருவியாகப் பயன்படுத்தலாம். ஆனால் நடைமுறையில், தகவல் தொழில்நுட்ப வல்லுநர்கள் பெரும்பாலும் சிக்கலான பல-நிலை குறியாக்க வழிமுறைகளைப் பயன்படுத்துகின்றனர். ஒரு விதியாக, பாதுகாப்பான சேனலில் தரவு பரிமாற்றத்திற்கான தரங்களைப் பயன்படுத்துவதன் மூலம் அவை பூர்த்தி செய்யப்படுகின்றன - இதனால் பயனர் கணினியிலிருந்து சேவையகங்களுக்கு அனுப்பப்படும் கடவுச்சொல்லை ஹேக்கர்களால் கண்டறியவோ அல்லது கணக்கிடவோ முடியாது - அது ஹாஷ் செய்யப்பட்ட உரைத் தொகுதிகளுக்கு எதிராகச் சரிபார்க்கப்படுவதற்கு முன்பு.

ஹாஷ் செயல்பாடு மோதல்கள்

ஹாஷ் செயல்பாடுகளின் கோட்பாடு மோதல் போன்ற ஒரு நிகழ்வை வழங்குகிறது. அதன் சாராம்சம் என்ன? ஹாஷ் மோதல் என்பது இரண்டு வெவ்வேறு கோப்புகள் ஒரே ஹாஷ் குறியீட்டைக் கொண்டிருக்கும் ஒரு சூழ்நிலையாகும். இலக்கு எழுத்து வரிசையின் நீளம் சிறியதாக இருந்தால் இது சாத்தியமாகும். இந்த வழக்கில், ஹாஷ் பொருத்தத்தின் நிகழ்தகவு அதிகமாக இருக்கும்.

மோதல்களைத் தவிர்க்க, குறிப்பாக, ஹாஷ் ஃபங்ஷன் ஹாஷிங் எனப்படும் இரட்டை அல்காரிதத்தைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது. இது திறந்த மற்றும் மூடிய குறியீட்டை உருவாக்குவதை உள்ளடக்கியது. பல புரோகிராமர்கள், முக்கியமான சிக்கல்களைத் தீர்க்கும் போது, ​​இது தேவையில்லாத சந்தர்ப்பங்களில் ஹாஷ் செயல்பாடுகளைப் பயன்படுத்த வேண்டாம் என்றும், குறிப்பிட்ட விசைகளுடன் சிறந்த இணக்கத்தன்மைக்கு தொடர்புடைய வழிமுறைகளை எப்போதும் சோதிக்கவும் பரிந்துரைக்கின்றனர்.

தோற்றத்தின் வரலாறு

ஹாஷ் செயல்பாடுகளின் கோட்பாட்டின் நிறுவனர்களாக ஆராய்ச்சியாளர்கள் கார்ட்டர், வெக்மேன், சைமன்சன் மற்றும் பியர்ப்ரூயர் ஆகியோரைக் கருதலாம். முதல் பதிப்புகளில், அதனுடன் தொடர்புடைய வழிமுறைகள் தன்னிச்சையான நீளத்தின் எழுத்து வரிசைகளின் தனித்துவமான படங்களை உருவாக்குவதற்கான கருவிகளாகப் பயன்படுத்தப்பட்டன, அவற்றை அடையாளம் கண்டு நம்பகத்தன்மையை சரிபார்க்க வேண்டும். இதையொட்டி, ஹாஷ், குறிப்பிட்ட அளவுகோல்களின்படி, 30-512 பிட்களின் நீளத்தைக் கொண்டிருக்க வேண்டும். தொடர்புடைய செயல்பாடுகளின் குறிப்பாக பயனுள்ள சொத்து, கோப்புகளை விரைவாகத் தேடுவதற்கு அல்லது அவற்றை வரிசைப்படுத்துவதற்கான ஆதாரமாகப் பயன்படுத்துவதற்கு ஏற்றதாகக் கருதப்படுகிறது.

பிரபலமான ஹாஷிங் தரநிலைகள்

எந்த பிரபலமான தரநிலைகளில் ஹாஷ் செயல்பாடுகளை குறிப்பிடலாம் என்பதை இப்போது பார்க்கலாம். இவற்றில் சி.ஆர்.சி. இந்த அல்காரிதம் ஒரு சுழற்சிக் குறியீடு, செக்சம் என்றும் அழைக்கப்படுகிறது. இந்த தரநிலை எளிமை மற்றும் அதே நேரத்தில் உலகளாவிய தன்மையால் வகைப்படுத்தப்படுகிறது - இது பரந்த அளவிலான தரவை ஹாஷ் செய்ய பயன்படுத்தப்படலாம். CRC என்பது மிகவும் பொதுவான கிரிப்டோகிராஃபிக் அல்லாத அல்காரிதம்களில் ஒன்றாகும்.

இதையொட்டி, MD4 மற்றும் MD5 தரநிலைகள் குறியாக்கத்தில் பரவலாகப் பயன்படுத்தப்படுகின்றன. மற்றொரு பிரபலமான கிரிப்டோகிராஃபிக் அல்காரிதம் SHA-1 ஆகும். குறிப்பாக, இது 160 பிட்களின் ஹாஷ் அளவுகளால் வகைப்படுத்தப்படுகிறது, இது MD5 ஐ விட பெரியது - இந்த தரநிலை 128 பிட்களை ஆதரிக்கிறது. ஹாஷ் செயல்பாடுகளின் பயன்பாட்டை ஒழுங்குபடுத்தும் ரஷ்ய தரநிலைகள் உள்ளன - GOST R 34.11-94, அதே போல் GOST R 34.11-2012, அதை மாற்றியது. ரஷ்ய கூட்டமைப்பில் ஏற்றுக்கொள்ளப்பட்ட அல்காரிதம்களால் வழங்கப்பட்ட ஹாஷ் மதிப்பு 256 பிட்கள் என்பதைக் கவனத்தில் கொள்ளலாம்.

கேள்விக்குரிய தரநிலைகளை பல்வேறு அடிப்படையில் வகைப்படுத்தலாம். எடுத்துக்காட்டாக, தொகுதி மற்றும் சிறப்பு வழிமுறைகளைப் பயன்படுத்துபவை உள்ளன. முதல் வகை தரநிலைகளின் அடிப்படையில் கணக்கீடுகளின் எளிமை பெரும்பாலும் அவற்றின் குறைந்த வேகத்துடன் இருக்கும். எனவே, பிளாக் அல்காரிதம்களுக்கு மாற்றாக, சிறிய அளவிலான தேவையான கணக்கீட்டு செயல்பாடுகள் தேவைப்படுபவை பயன்படுத்தப்படலாம். அதிவேக தரநிலைகளில் பொதுவாக, மேலே குறிப்பிட்டுள்ள MD4, MD5 மற்றும் SHA ஆகியவை அடங்கும். SHA ஐ உதாரணமாகப் பயன்படுத்தி சிறப்பு ஹாஷிங் அல்காரிதம்களின் பிரத்தியேகங்களைக் கூர்ந்து கவனிப்போம்.

SHA அல்காரிதத்தின் அம்சங்கள்

SHA தரநிலையை அடிப்படையாகக் கொண்ட ஹாஷ் செயல்பாடுகளின் பயன்பாடு DSA ஆவணங்களுக்கான டிஜிட்டல் கையொப்பக் கருவிகளின் வளர்ச்சியில் பெரும்பாலும் மேற்கொள்ளப்படுகிறது. நாம் மேலே குறிப்பிட்டுள்ளபடி, SHA அல்காரிதம் 160 பிட்களின் ஹாஷை ஆதரிக்கிறது (எழுத்து வரிசையின் "டைஜெஸ்ட்" என்று அழைக்கப்படுவதை வழங்குகிறது). ஆரம்பத்தில், பரிசீலனையில் உள்ள தரநிலையானது தரவு வரிசையை 512 பிட்களின் தொகுதிகளாகப் பிரிக்கிறது. தேவைப்பட்டால், கடைசி தொகுதியின் நீளம் குறிப்பிட்ட இலக்கத்தை அடையவில்லை என்றால், கோப்பு அமைப்பு 1 மற்றும் தேவையான பூஜ்ஜியங்களுடன் கூடுதலாக இருக்கும். தொடர்புடைய தொகுதியின் முடிவில் செய்தியின் நீளத்தை நிர்ணயிக்கும் குறியீடு எழுதப்பட்டுள்ளது. பரிசீலனையில் உள்ள அல்காரிதம் 80 தருக்க செயல்பாடுகளைப் பயன்படுத்துகிறது, இதன் மூலம் 32 பிட்களில் வழங்கப்பட்ட 3 சொற்கள் செயலாக்கப்படுகின்றன. SHA தரநிலையானது 4 மாறிலிகளைப் பயன்படுத்துவதற்கும் வழங்குகிறது.

ஹாஷிங் அல்காரிதம்களின் ஒப்பீடு

ரஷ்ய தரநிலையான GOST R 34.11-94 மற்றும் நாம் மேலே ஆராய்ந்த அமெரிக்க SHA ஆகியவற்றின் பண்புகளை ஒப்பிடும் உதாரணத்தைப் பயன்படுத்தி, வெவ்வேறு தரநிலைகளுடன் தொடர்புடைய ஹாஷ் செயல்பாடுகளின் பண்புகள் எவ்வாறு தொடர்பு கொள்கின்றன என்பதைப் படிப்போம். முதலாவதாக, ரஷ்ய கூட்டமைப்பில் உருவாக்கப்பட்ட அல்காரிதம் 1 சுழற்சியில் 4 குறியாக்க செயல்பாடுகளை செயல்படுத்துவதாக கருதுகிறது என்பதை கவனத்தில் கொள்ள வேண்டும். இது 128 சுற்றுகளுக்கு ஒத்திருக்கிறது. இதையொட்டி, 1 சுற்றில், SHA பயன்படுத்தப்படும் போது, ​​சுமார் 20 கட்டளைகள் கணக்கிடப்படும் என்று எதிர்பார்க்கப்படுகிறது, மொத்தத்தில் 80 சுற்றுகள் உள்ளன.இவ்வாறு, SHA ஐப் பயன்படுத்தி 1 சுழற்சியில் 512 பிட்கள் மூலத் தரவை செயலாக்க முடியும். ரஷ்ய தரநிலையானது 256 பிட் தரவுகளின் சுழற்சியில் செயல்பாடுகளைச் செய்யும் திறன் கொண்டது.

சமீபத்திய ரஷ்ய அல்காரிதத்தின் விவரக்குறிப்புகள்

GOST R 34.11-94 தரநிலையானது புதியது - GOST R 34.11-2012 "Stribog" மூலம் மாற்றப்பட்டது என்பதை நாங்கள் மேலே குறிப்பிட்டோம். அதன் பிரத்தியேகங்களை இன்னும் விரிவாக ஆராய்வோம்.

இந்த தரநிலையைப் பயன்படுத்தி, மேலே விவாதிக்கப்பட்ட அல்காரிதம்களைப் போலவே, கிரிப்டோகிராஃபிக் ஹாஷ் செயல்பாடுகளைச் செயல்படுத்தலாம். சமீபத்திய ரஷ்ய தரநிலையானது 512-பிட் உள்ளீட்டு தரவுத் தொகுதியை ஆதரிக்கிறது என்பதைக் கவனத்தில் கொள்ளலாம். GOST R 34.11-2012 இன் முக்கிய நன்மைகள்:

  • உடைக்கும் குறியீடுகளுக்கு எதிராக உயர் மட்ட பாதுகாப்பு;
  • நம்பகத்தன்மை, நிரூபிக்கப்பட்ட வடிவமைப்புகளைப் பயன்படுத்துவதன் மூலம் ஆதரிக்கப்படுகிறது;
  • ஹாஷ் செயல்பாட்டின் விரைவான கணக்கீடு, செயல்பாட்டின் வடிவமைப்பை சிக்கலாக்கும் மற்றும் கணக்கீட்டை மெதுவாக்கும் அல்காரிதத்தில் மாற்றங்கள் இல்லாதது.

புதிய ரஷ்ய கிரிப்டோகிராஃபிக் என்க்ரிப்ஷன் தரநிலையின் குறிப்பிடத்தக்க நன்மைகள், ஒழுங்குமுறை சட்டத்தின் விதிகளில் பரிந்துரைக்கப்பட்ட மிகக் கடுமையான அளவுகோல்களை பூர்த்தி செய்யும் ஆவண ஓட்டத்தை ஒழுங்கமைக்கும்போது அதைப் பயன்படுத்துவதை சாத்தியமாக்குகிறது.

கிரிப்டோகிராஃபிக் ஹாஷ் செயல்பாடுகளின் விவரக்குறிப்புகள்

கிரிப்டோகிராஃபி துறையில் நாம் ஆராயும் அல்காரிதம்களின் வகைகளை எப்படிப் பயன்படுத்தலாம் என்பதை விரிவாகப் பார்ப்போம். தொடர்புடைய செயல்பாடுகளுக்கான முக்கிய தேவை மோதல்களுக்கு எதிர்ப்பாகும், இது நாம் மேலே குறிப்பிட்டது. அதாவது, இந்த மதிப்புகள் ஏற்கனவே அண்டை அல்காரிதத்தின் கட்டமைப்பில் இருந்தால், நகல் ஹாஷ் செயல்பாட்டு மதிப்புகள் உருவாக்கப்படக்கூடாது. கிரிப்டோகிராஃபிக் செயல்பாடுகள் மேலே குறிப்பிடப்பட்ட மற்ற அளவுகோல்களையும் பூர்த்தி செய்ய வேண்டும். ஹாஷ் அடிப்படையில் அசல் கோப்பை மீட்டமைப்பதற்கான சில தத்துவார்த்த சாத்தியக்கூறுகள் எப்போதும் உள்ளன என்பது தெளிவாகிறது, குறிப்பாக சக்திவாய்ந்த கணினி கருவி இருந்தால். இருப்பினும், நம்பகமான என்க்ரிப்ஷன் அல்காரிதம்கள் காரணமாக இத்தகைய சூழ்நிலை குறைக்கப்படும் என எதிர்பார்க்கப்படுகிறது. எனவே, அதன் கணக்கீட்டு வலிமை சூத்திரம் 2^(n/2) உடன் ஒத்திருந்தால், ஹாஷ் செயல்பாட்டைக் கணக்கிடுவது மிகவும் கடினமாக இருக்கும்.

கிரிப்டோகிராஃபிக் அல்காரிதத்தின் மற்றொரு முக்கியமான அளவுகோல், அசல் தரவு வரிசையின் திருத்தம் ஏற்பட்டால் ஹாஷில் ஏற்படும் மாற்றமாகும். குறியாக்க தரநிலைகள் 1-பிட் உணர்திறன் கொண்டதாக இருக்க வேண்டும் என்று மேலே குறிப்பிட்டுள்ளோம். எனவே, கோப்புகளை அணுகுவதற்கான நம்பகமான கடவுச்சொல் பாதுகாப்பை உறுதி செய்வதில் இந்த சொத்து ஒரு முக்கிய காரணியாகும்.

மீண்டும் மீண்டும் திட்டங்கள்

கிரிப்டோகிராஃபிக் ஹாஷிங் அல்காரிதம்களை எவ்வாறு உருவாக்கலாம் என்பதை இப்போது படிப்போம். இந்த சிக்கலைத் தீர்ப்பதற்கான மிகவும் பொதுவான திட்டங்களில், ஒரு மறுசெயல் வரிசை மாதிரியின் பயன்பாடு ஆகும். இது சுருக்க செயல்பாடு என்று அழைக்கப்படுவதை அடிப்படையாகக் கொண்டது, இதில் உள்ளீடு பிட்களின் எண்ணிக்கை வெளியீட்டில் கைப்பற்றப்பட்டதை விட கணிசமாக அதிகமாக உள்ளது.

நிச்சயமாக, சுருக்க செயல்பாடு தேவையான கிரிப்டோகிராஃபிக் வலிமை அளவுகோல்களை சந்திக்க வேண்டும். ஒரு ஊடாடும் திட்டத்தில், உள்ளீட்டு தரவு ஸ்ட்ரீமை செயலாக்குவதற்கான முதல் செயல்பாடு தொகுதிகளாக பிரிக்கப்படுகிறது, அதன் அளவு பிட்களில் கணக்கிடப்படுகிறது. தொடர்புடைய அல்காரிதம் குறிப்பிட்ட எண்ணிக்கையிலான பிட்களின் தற்காலிக மாறிகளையும் பயன்படுத்துகிறது. நன்கு அறியப்பட்ட எண் முதல் மதிப்பாகப் பயன்படுத்தப்படுகிறது, அதே நேரத்தில் தரவுகளின் அடுத்தடுத்த தொகுதிகள் கேள்விக்குரிய செயல்பாட்டின் மதிப்புடன் ஒரு வெளியீட்டாக இணைக்கப்படுகின்றன. ஹாஷ் மதிப்பு கடைசி மறு செய்கைக்கான வெளியீட்டு பிட்களாக மாறும், இது முதல் மதிப்பு உட்பட முழு உள்ளீட்டு ஸ்ட்ரீமையும் கணக்கில் எடுத்துக்கொள்கிறது. ஹாஷிங்கின் "பனிச்சரிவு விளைவு" என்று அழைக்கப்படுவது வழங்கப்படுகிறது.

உள்ளீட்டு ஸ்ட்ரீம் அசல் தரவு வரிசை வகுக்கப்பட்டுள்ள தொகுதியின் அளவிற்கு ஒத்ததாக இல்லாவிட்டால் ஹாஷ் செயல்பாடுகளை உருவாக்குவது சில சமயங்களில் கடினமாக இருக்கும். ஆனால் இந்த விஷயத்தில், ஹாஷிங் தரநிலையானது அசல் ஸ்ட்ரீமை ஒரு வழியில் அல்லது வேறு வழியில் விரிவாக்கக்கூடிய அல்காரிதங்களைக் கொண்டிருக்கலாம்.

சில சமயங்களில், மல்டி-பாஸ் அல்காரிதம்கள் என அழைக்கப்படுபவை, செயல்பாட்டுத் திட்டத்தில் தரவு செயலாக்கத்தின் செயல்பாட்டில் பயன்படுத்தப்படலாம். அவர்கள் இன்னும் தீவிரமான "பனிச்சரிவு விளைவு" உருவாக்க பரிந்துரைக்கின்றனர். இத்தகைய சூழ்நிலை மீண்டும் மீண்டும் தரவுத் தொகுப்புகளை உருவாக்குவதை உள்ளடக்கியது, மேலும் இரண்டாவது இடத்தில் மட்டுமே விரிவாக்கம் ஏற்படுகிறது.

பிளாக் அல்காரிதம்

சுருக்க செயல்பாடு குறியாக்கம் செய்யப்படும் பிளாக் அல்காரிதத்தின் அடிப்படையிலும் இருக்கலாம். எனவே, பாதுகாப்பின் அளவை அதிகரிக்க, தற்போதைய மறு செய்கையில் ஹாஷிங்கிற்கு உட்பட்ட தரவுத் தொகுதிகளை ஒரு விசையாகவும், முன்பு சுருக்கச் செயல்பாட்டைச் செயல்படுத்தும் போது பெறப்பட்ட செயல்பாடுகளின் விளைவாகவும் - உள்ளீடாகப் பயன்படுத்தலாம். இதன் விளைவாக, கடைசி மறு செய்கை அல்காரிதத்தின் வெளியீட்டை வழங்கும். ஹாஷிங்கின் பாதுகாப்பு, பயன்படுத்தப்படும் அல்காரிதத்தின் வலிமையுடன் தொடர்புடையதாக இருக்கும்.

இருப்பினும், நாம் மேலே குறிப்பிட்டுள்ளபடி, பல்வேறு வகையான ஹாஷ் செயல்பாடுகளைக் கருத்தில் கொண்டு, தொகுதி வழிமுறைகள் பெரும்பாலும் பெரிய கணினி சக்தியைப் பயன்படுத்த வேண்டிய அவசியத்துடன் இருக்கும். அவை கிடைக்கவில்லை என்றால், ஹாஷ் செயல்பாடுகளின் பயன்பாட்டுடன் தொடர்புடைய நடைமுறை சிக்கல்களைத் தீர்க்க கோப்பு செயலாக்க வேகம் போதுமானதாக இருக்காது. அதே நேரத்தில், தேவையான கிரிப்டோகிராஃபிக் வலிமையை மூல தரவு ஸ்ட்ரீம்களுடன் கூடிய சிறிய எண்ணிக்கையிலான செயல்பாடுகளால் அடைய முடியும்; குறிப்பாக, நாங்கள் கருத்தில் கொண்ட அல்காரிதம்கள் - MD5, SHA மற்றும் ரஷ்ய கிரிப்டோகிராஃபிக் என்க்ரிப்ஷன் தரநிலைகள் - இது போன்ற சிக்கல்களைத் தீர்ப்பதற்கு ஏற்றது.

ஹாஷிங்

ஹாஷிங்(சில நேரங்களில் "ஹாஷிங்", ஆங்கிலம் ஹாஷிங்) - தன்னிச்சையான நீளத்தின் உள்ளீட்டு தரவு வரிசையை ஒரு நிலையான நீளத்தின் வெளியீட்டு பிட் சரமாக மாற்றுவது. இத்தகைய மாற்றங்கள் என்றும் அழைக்கப்படுகின்றன ஹாஷ் செயல்பாடுகள்அல்லது சுருட்டு செயல்பாடுகள், மற்றும் அவற்றின் முடிவுகள் அழைக்கப்படுகின்றன ஹாஷ், ஹாஷ் குறியீடுஅல்லது செய்தி சுருக்கம்(ஆங்கிலம்) செய்தி செரிமானம்) இரண்டு சரங்களுக்கு வெவ்வேறு ஹாஷ் குறியீடுகள் இருந்தால், சரங்கள் வேறுபட்டதாக இருக்கும் என்று உத்தரவாதம் அளிக்கப்படும்; அவை ஒரே மாதிரியாக இருந்தால், சரங்கள் அநேகமாக ஒரே மாதிரியாக இருக்கும்.

துணை வரிசைகளை உருவாக்கவும், தரவுத் தொகுப்புகளின் வரிசையில் நகல்களைத் தேடவும், தரவுத் தொகுப்புகளுக்கு போதுமான தனித்துவமான அடையாளங்காட்டிகளை உருவாக்கவும், சேமிப்பு அல்லது பரிமாற்றத்தின் போது தற்செயலான அல்லது வேண்டுமென்றே பிழைகளைக் கண்டறியவும், பாதுகாப்பு அமைப்புகளில் கடவுச்சொற்களைச் சேமிக்கவும் (இந்த வழக்கில், அணுகல்) ஹாஷிங் பயன்படுத்தப்படுகிறது. ஒரு நினைவக பகுதிக்கு , கடவுச்சொற்கள் அமைந்துள்ள இடத்தில், கடவுச்சொல்லை மீட்டெடுக்க உங்களை அனுமதிக்காது), மின்னணு கையொப்பத்தை உருவாக்கும் போது (நடைமுறையில், இது பெரும்பாலும் கையொப்பமிடப்பட்ட செய்தி அல்ல, ஆனால் அதன் ஹாஷ் படம்).

பொதுவாக, உள்ளீட்டு வரிசையில் உள்ள விருப்பங்களின் எண்ணிக்கையை விட ஹாஷ் செயல்பாட்டு மதிப்புகளின் எண்ணிக்கை குறைவாக இருப்பதால், மூலத் தரவுக்கும் ஹாஷ் குறியீட்டிற்கும் இடையே ஒன்றுக்கொன்று தொடர்பு இல்லை; வெவ்வேறு உள்ளடக்கங்களைக் கொண்ட பல அணிவரிசைகள் உள்ளன, ஆனால் அதே ஹாஷ் குறியீடுகளைக் கொடுக்கின்றன - மோதல்கள் என அழைக்கப்படுகின்றன. ஹாஷ் செயல்பாடுகளின் தரத்தை மதிப்பிடுவதில் மோதல்களின் நிகழ்தகவு முக்கிய பங்கு வகிக்கிறது.

வெவ்வேறு பண்புகள் (பிட் திறன், கணக்கீட்டு சிக்கலானது, கிரிப்டோகிராஃபிக் வலிமை போன்றவை) பல ஹாஷிங் அல்காரிதம்கள் உள்ளன. ஒன்று அல்லது மற்றொரு ஹாஷ் செயல்பாட்டின் தேர்வு தீர்க்கப்படும் சிக்கலின் பிரத்தியேகங்களால் தீர்மானிக்கப்படுகிறது. ஹாஷ் செயல்பாடுகளின் எளிய எடுத்துக்காட்டுகள் செக்சம் அல்லது CRC ஆகும்.

கதை

பெரிய கோப்புகளில் தேடுவது தொடர்பான முதல் தீவிரமான வேலை வெஸ்லி பீட்டர்சனின் கட்டுரையாகும். டபிள்யூ. வெஸ்லி பீட்டர்சன் ) 1957 ஐபிஎம் ஜர்னல் ஆஃப் ரிசர்ச் அண்ட் டெவலப்மென்ட்டில், அவர் திறந்த முகவரிகளை வரையறுத்ததோடு, நீக்குதலின் செயல்திறன் சிதைவையும் சுட்டிக்காட்டினார். ஆறு ஆண்டுகளுக்குப் பிறகு, வெர்னர் புச்சோல்ஸின் (ஜெர்மன்) படைப்பு வெளியிடப்பட்டது. வெர்னர் புச்சோல்ஸ் ), இது ஹாஷ் செயல்பாடுகளில் விரிவான ஆராய்ச்சி செய்துள்ளது. அடுத்த சில ஆண்டுகளில், ஹாஷிங் பரவலாகப் பயன்படுத்தப்பட்டது, ஆனால் குறிப்பிடத்தக்க படைப்பு எதுவும் வெளியிடப்படவில்லை.

1967 ஆம் ஆண்டில், ஹெர்பர்ட் ஹெலர்மேன் எழுதிய டிஜிட்டல் கம்ப்யூட்டிங் சிஸ்டம்களின் கோட்பாடுகள் புத்தகத்தில் ஹாஷிங் அதன் நவீன அர்த்தத்தில் குறிப்பிடப்பட்டுள்ளது. 1968 இல், ராபர்ட் மோரிஸ் (இங்கி. ராபர்ட் மோரிஸ் ) ACM இன் தகவல்தொடர்புகளில் ஹாஷிங் பற்றிய ஒரு பெரிய மதிப்பாய்வை வெளியிட்டது; இந்த வேலை ஒரு முக்கிய வெளியீடாகக் கருதப்படுகிறது, அறிவியல் பயன்பாட்டில் ஹாஷிங் என்ற கருத்தை அறிமுகப்படுத்துகிறது மற்றும் "ஹாஷ்" என்ற வார்த்தையை நிறுவுகிறது, இது முன்னர் நிபுணர்களின் வாசகங்களில் மட்டுமே பயன்படுத்தப்பட்டது.

1990 களின் முற்பகுதி வரை, ரஷ்ய மொழி இலக்கியத்தில், "ஹாஷிங்" என்ற வார்த்தை "ஹாஷிங்" என்ற வார்த்தைக்கு சமமாக பயன்படுத்தப்பட்டது, ஆண்ட்ரே எர்ஷோவின் பணிக்கு நன்றி. "ஏற்பாடு", மற்றும் மோதல்களுக்கு "மோதல்" என்ற சொல் பயன்படுத்தப்பட்டது (எர்ஷோவ் 1956 முதல் "ஏற்பாடு" பயன்படுத்தினார்; விர்த்தின் 1989 புத்தகமான "அல்காரிதம்ஸ் அண்ட் டேட்டா ஸ்ட்ரக்சர்ஸ்" இன் ரஷ்ய மொழி பதிப்பும் "ஏற்பாடு" என்ற சொல்லைப் பயன்படுத்துகிறது). இந்த முறையை ரஷ்ய சொல் என்று அழைக்கவும் முன்மொழியப்பட்டது "okroshka". இருப்பினும், இந்த விருப்பங்கள் எதுவும் வேரூன்றவில்லை, ரஷ்ய மொழி இலக்கியத்தில் "ஹாஷிங்" என்ற வார்த்தை முக்கியமாக பயன்படுத்தப்படுகிறது.

ஹாஷ் செயல்பாடுகளின் வகைகள்

ஒரு நல்ல ஹாஷ் செயல்பாடு இரண்டு பண்புகளை பூர்த்தி செய்ய வேண்டும்:

  1. விரைவாக கணக்கிடுங்கள்;
  2. மோதல்களின் எண்ணிக்கையைக் குறைக்கவும்

திட்டவட்டமாக, விசைகளின் எண்ணிக்கை , மற்றும் ஹாஷ் செயல்பாடு வெவ்வேறு மதிப்புகளைக் கொண்டுள்ளது என்று வைத்துக்கொள்வோம்:

"மோசமான" ஹாஷ் செயல்பாட்டிற்கு ஒரு எடுத்துக்காட்டு c செயல்பாடு ஆகும், இது எண்ணின் இருபது இலக்க சதுரத்தின் நடுவில் இருந்து தேர்ந்தெடுக்கப்பட்ட மூன்று இலக்கங்களுடன் பத்து இலக்க இயற்கை எண்ணுடன் பொருந்துகிறது. ஹாஷ் குறியீடு மதிப்புகள் “000” மற்றும் “999” க்கு இடையில் சமமாக விநியோகிக்கப்பட வேண்டும் என்று தோன்றுகிறது, ஆனால் உண்மையான தரவுகளுக்கு, விசைகள் இடது அல்லது வலதுபுறத்தில் அதிக எண்ணிக்கையிலான பூஜ்ஜியங்களைக் கொண்டிருக்கவில்லை என்றால் மட்டுமே இந்த முறை பொருத்தமானது.

இருப்பினும், பல ஹாஷ் செயல்பாடுகளை அடிப்படையாகக் கொண்ட பல எளிய மற்றும் நம்பகமான முறைகள் உள்ளன.

பிரிவு அடிப்படையிலான ஹாஷ் செயல்பாடுகள்

முதல் முறை என்னவென்றால், மீதமுள்ள பிரிவை ஹாஷாகப் பயன்படுத்துகிறோம், இது சாத்தியமான அனைத்து ஹாஷ்களின் எண்ணிக்கையாகும்:

செயல்பாடு சமமாக இருந்தால், செயல்பாட்டின் மதிப்பு சமமாக இருக்கும், அது சமமாக இருந்தால், மற்றும் ஒற்றைப்படை - ஒற்றைப்படை என்றால், இது கோப்புகளில் உள்ள தரவுகளில் குறிப்பிடத்தக்க மாற்றத்திற்கு வழிவகுக்கும் என்பது வெளிப்படையானது. இது ஒரு கணினி ரேடிக்ஸ் ஆகவும் பயன்படுத்தப்படக்கூடாது, ஏனெனில் ஹாஷ் குறியீடு வலதுபுறத்தில் அமைந்துள்ள எண்ணின் சில இலக்கங்களை மட்டுமே சார்ந்துள்ளது, இது அதிக எண்ணிக்கையிலான மோதல்களுக்கு வழிவகுக்கும். நடைமுறையில், அவர்கள் வழக்கமாக எளிமையான ஒன்றைத் தேர்வு செய்கிறார்கள் - பெரும்பாலான சந்தர்ப்பங்களில் இந்த தேர்வு மிகவும் திருப்திகரமாக உள்ளது.

குறிப்பிடத் தகுந்த மற்றொரு விஷயம் ஹாஷிங் முறை ஆகும், இது ஒரு பல்லுறுப்புக்கோவை மாடுலோ இரண்டால் பிரிப்பதை அடிப்படையாகக் கொண்டது. இந்த முறையில், இரண்டின் சக்தியாகவும் இருக்க வேண்டும், மேலும் பைனரி விசைகள் () பல்லுறுப்புக்கோவைகளாக குறிப்பிடப்படுகின்றன. இந்த வழக்கில், பாலினோமியலின் குணகங்களின் மதிப்புகள், பட்டத்தின் முன் தேர்ந்தெடுக்கப்பட்ட பல்லுறுப்புக்கோவை மூலம் பிரிவின் எஞ்சியதாக பெறப்பட்ட ஹாஷ் குறியீடாக எடுத்துக் கொள்ளப்படுகின்றன:

சரியாக தேர்ந்தெடுக்கப்பட்டால், இந்த முறை கிட்டத்தட்ட ஒரே மாதிரியான விசைகளுக்கு இடையில் மோதல்கள் இல்லாததை உறுதி செய்கிறது.

பெருக்கல் ஹாஷிங் திட்டம்

இரண்டாவது முறையானது சில முழு எண் மாறிலி coprime ஐ தேர்வு செய்வதில் உள்ளது, அங்கு ஒரு இயந்திர வார்த்தையால் (IBM PC கணினிகளில்) குறிப்பிடக்கூடிய மதிப்புகளின் எண்ணிக்கை உள்ளது. பின்னர் நாம் படிவத்தின் ஹாஷ் செயல்பாட்டை எடுக்கலாம்:

இந்த வழக்கில், ஒரு பைனரி எண் அமைப்பு கொண்ட கணினியில், இரண்டு சக்தி மற்றும் உற்பத்தியின் வலது பாதியின் மிக முக்கியமான பிட்களைக் கொண்டிருக்கும்.

இந்த இரண்டு முறைகளின் நன்மைகளில், அவை உண்மையான விசைகள் சீரற்றவை என்ற உண்மையைப் பயன்படுத்திக் கொள்கின்றன என்பது கவனிக்கத்தக்கது, எடுத்துக்காட்டாக, விசைகள் எண்கணித முன்னேற்றத்தைப் பிரதிநிதித்துவப்படுத்தினால் (“NAME1”, “NAME2” என்ற பெயர்களின் வரிசையைக் கூறுவோம். ”, “NAME3”). பெருக்கல் முறையானது ஒரு எண்கணித முன்னேற்றத்தை வெவ்வேறு ஹாஷ் மதிப்புகளின் தோராயமான எண்கணித முன்னேற்றமாக வரைபடமாக்கும், இது சீரற்ற சூழ்நிலையுடன் ஒப்பிடும்போது மோதல்களின் எண்ணிக்கையைக் குறைக்கிறது.

இந்த முறையின் ஒரு மாறுபாடு தங்க விகிதத்தின் பண்புகளின் அடிப்படையில் ஃபைபோனச்சி ஹாஷிங் ஆகும். இங்கே தேர்ந்தெடுக்கப்பட்ட மதிப்பு, காபிரைம் உடன் உள்ள முழு எண்ணுக்கு மிக நெருக்கமான மதிப்பு ஆகும்

ஹாஷிங் மாறி நீள சரங்கள்

பல சொற்கள் அல்லது மாறி நீளத்தின் விசைகளைக் கொண்ட விசைகளைக் கருத்தில் கொள்ள வேண்டுமானால் மேலே உள்ள முறைகளும் பொருந்தும். எடுத்துக்காட்டாக, மாடுலோ கூட்டல் அல்லது “பிரத்தியேகமான அல்லது” செயல்பாட்டைப் பயன்படுத்தி சொற்களை ஒன்றாக இணைக்கலாம். இந்த கொள்கையில் செயல்படும் அல்காரிதங்களில் ஒன்று பியர்சன் ஹாஷ் செயல்பாடு ஆகும்.

யுனிவர்சல் ஹாஷிங்

யுனிவர்சல் ஹாஷிங் யுனிவர்சல் ஹாஷிங் ) ஹேஷிங் என்று அழைக்கப்படுகிறது, இதில் ஒரு குறிப்பிட்ட ஹாஷ் செயல்பாடு பயன்படுத்தப்படவில்லை, ஆனால் கொடுக்கப்பட்ட குடும்பத்திலிருந்து ஒரு சீரற்ற வழிமுறையைப் பயன்படுத்தி தேர்வு செய்யப்படுகிறது. உலகளாவிய ஹாஷிங்கைப் பயன்படுத்துவது பொதுவாக குறைந்த மோதல் விகிதங்களில் விளைகிறது. யுனிவர்சல் ஹாஷிங்கில் ஹாஷ் அட்டவணைகள் மற்றும் குறியாக்கவியல் போன்ற பல பயன்பாடுகள் உள்ளன.

விளக்கம்

விசைகளை இடத்திலிருந்து எண்களுக்கு வரைபடமாக்க விரும்புகிறோம் என்று வைத்துக்கொள்வோம். உள்ளீட்டில், அல்காரிதம் ஒரு குறிப்பிட்ட தரவு மற்றும் பரிமாணத்தைப் பெறுகிறது, இது முன்கூட்டியே தெரியவில்லை. பொதுவாக, ஹாஷிங்கின் குறிக்கோள், குறைந்த எண்ணிக்கையிலான மோதல்களைப் பெறுவதாகும், இது ஒரு குறிப்பிட்ட ஹாஷ் செயல்பாட்டைப் பயன்படுத்தி அடைய கடினமாக உள்ளது.

அத்தகைய சிக்கலுக்கு ஒரு தீர்வாக, உலகளாவிய குடும்பம் எனப்படும் ஒரு குறிப்பிட்ட தொகுப்பிலிருந்து சீரற்ற முறையில் ஒரு செயல்பாட்டைத் தேர்ந்தெடுக்கலாம்.

மோதல்களைக் கையாள்வதற்கான முறைகள்

மேலே குறிப்பிட்டுள்ளபடி, ஹாஷ் செயல்பாட்டின் மோதல் (சில நேரங்களில் மோதல் அல்லது மோதல்) ஒரே ஹாஷ் குறியீடுகளை உருவாக்கும் இரண்டு உள்ளீட்டு தரவுத் தொகுதிகளாக வரையறுக்கப்படுகிறது.

ஹாஷ் அட்டவணையில்

ஹாஷிங்கை விவரிக்கும் ஆரம்பகால வேலைகளில் பெரும்பாலானவை ஹாஷ் அட்டவணைகளில் உள்ள மோதல்களைக் கையாள்வதற்கான முறைகளுக்கு அர்ப்பணிக்கப்பட்டன, ஏனெனில் ஹாஷ் செயல்பாடுகள் பெரிய கோப்புகளைத் தேட பயன்படுத்தப்பட்டன. ஹாஷ் அட்டவணையில் இரண்டு முக்கிய முறைகள் பயன்படுத்தப்படுகின்றன:

  1. சங்கிலி முறை (நேரடி இணைப்பு முறை)
  2. முகவரியிடும் முறையைத் திறக்கவும்

ஒவ்வொரு ஹாஷ் மதிப்புக்கும் ஒன்று, இணைக்கப்பட்ட பட்டியல்களை பராமரிப்பது முதல் முறை. பட்டியலில் ஒரே ஹாஷ் குறியீடு மதிப்பைக் கொடுக்கும் விசைகள் சேமிக்கப்படும். பொதுவாக, எங்களிடம் விசைகள் மற்றும் பட்டியல்கள் இருந்தால், பட்டியலின் சராசரி அளவு இருக்கும் மற்றும் தொடர்ச்சியான தேடலுடன் ஒப்பிடும்போது ஹாஷிங் வேலையின் சராசரி அளவை தோராயமாக ஒரு காரணியால் குறைக்கும்.

இரண்டாவது முறை முக்கிய மதிப்பு ஜோடிகளை அட்டவணை வரிசையில் சேமிப்பதாகும். இந்த வழியில் நாங்கள் குறிப்புகளை முழுவதுமாக நீக்கிவிட்டு, விரும்பிய விசை அல்லது வெற்று நிலையைக் கண்டுபிடிக்கும் வரை அட்டவணை உள்ளீடுகளைப் பார்க்கிறோம். அட்டவணை செல்கள் பார்க்கப்படும் வரிசையை ஆய்வு வரிசை என்று அழைக்கப்படுகிறது.

கிரிப்டோகிராஃபிக் உப்பு

கடவுச்சொற்கள் மற்றும் கையொப்பங்களை மோசடி செய்வதிலிருந்து பாதுகாப்பதற்கு பல முறைகள் உள்ளன, பயன்படுத்தப்படும் ஹாஷ் செயல்பாட்டிற்கான மோதல்களை எவ்வாறு உருவாக்குவது என்பது கிரிப்டானாலிஸ்ட் அறிந்திருந்தாலும் கூட அவை செயல்படும். உள்ளீட்டுத் தரவில் ஒரு கிரிப்டோகிராஃபிக் உப்பை (சீரற்ற தரவுகளின் சரம்) சேர்ப்பது (சில நேரங்களில் ஹாஷ் குறியீட்டிலும் உப்பு சேர்க்கப்படும்), இதன் விளைவாக வரும் ஹாஷ் அட்டவணைகளை பகுப்பாய்வு செய்வது மிகவும் கடினமாகிறது. எடுத்துக்காட்டாக, யுனிக்ஸ் போன்ற இயக்க முறைமைகளில் கடவுச்சொற்களை சேமிக்க இந்த முறை பயன்படுத்தப்படுகிறது.

ஹாஷ் செயல்பாடுகளைப் பயன்படுத்துதல்

கிரிப்டோகிராஃபிக் ஹாஷ் செயல்பாடுகள்

தற்போதுள்ள பல ஹாஷ் செயல்பாடுகளில், குறியாக்கவியலில் பயன்படுத்தப்படும் கிரிப்டோகிராஃபிகலாக வலுவான ஹாஷ் செயல்பாடுகளை வேறுபடுத்துவது வழக்கமாக உள்ளது, ஏனெனில் அவற்றில் கூடுதல் தேவைகள் விதிக்கப்படுகின்றன. ஒரு ஹாஷ் செயல்பாடு குறியாக்கவியல் ரீதியாக வலுவானதாகக் கருதப்படுவதற்கு, அது மூன்று அடிப்படைத் தேவைகளைப் பூர்த்தி செய்ய வேண்டும், அவை குறியாக்கவியலில் ஹாஷ் செயல்பாடுகளின் பெரும்பாலான பயன்பாடுகளுக்கு அடிப்படையாக உள்ளன:

இந்த தேவைகள் சுயாதீனமானவை அல்ல:

  • ஒரு தலைகீழான செயல்பாடு முதல் மற்றும் இரண்டாவது வகையான மோதல்களுக்கு எதிர்ப்புத் தெரிவிக்காது.
  • முதல் வகையான மோதல்களுக்கு எதிர்ப்பு இல்லாத ஒரு செயல்பாடு, இரண்டாவது வகையான மோதல்களுக்கு எதிர்ப்புத் தெரிவிக்காது; தலைகீழ் உண்மை இல்லை.

கொடுக்கப்பட்ட ஹாஷ் மதிப்பின் எந்த தலைகீழ் படத்தையும் கணக்கிடுவது கோட்பாட்டளவில் சாத்தியமில்லாத மீளமுடியாத ஹாஷ் செயல்பாடுகளின் இருப்பு நிரூபிக்கப்படவில்லை என்பதைக் கவனத்தில் கொள்ள வேண்டும். பொதுவாக, தலைகீழ் கண்டறிதல் என்பது கணக்கீட்டு ரீதியாக கடினமான பணியாகும்.

ஹேஷிங் என்பது டிஜிட்டல் சிக்னேச்சர் அல்காரிதம்களில் பெரும்பாலும் பயன்படுத்தப்படுகிறது, இதில் செய்தியே குறியாக்கம் செய்யப்படவில்லை, ஆனால் அதன் ஹாஷ் குறியீடு, இது கணக்கீட்டு நேரத்தை குறைக்கிறது மற்றும் கிரிப்டோகிராஃபிக் வலிமையையும் அதிகரிக்கிறது. மேலும், பெரும்பாலான சந்தர்ப்பங்களில், கடவுச்சொற்களுக்கு பதிலாக, அவற்றின் ஹாஷ் குறியீடுகளின் மதிப்புகள் சேமிக்கப்படும்.

செக்சம்கள்

வன்பொருள் பிழைகள் உட்பட தற்செயலான சிதைவுகளிலிருந்து பாதுகாக்கப் பயன்படுத்தப்படும் சிக்கலற்ற, மிக வேகமான மற்றும் எளிதில் செயல்படுத்தப்படும் வன்பொருள் அல்காரிதம்கள். ஒரு கணிதக் கண்ணோட்டத்தில், இது ஒரு ஹாஷ் செயல்பாடாகும், இது தகவல் பரிமாற்றம் மற்றும் சேமிப்பகத்தின் போது பிழைகளைக் கண்டறியப் பயன்படுத்தப்படும் காசோலைக் குறியீட்டைக் கணக்கிடுகிறது.

கணக்கீட்டு வேகமானது கிரிப்டோகிராஃபிக் ஹாஷ் செயல்பாடுகளை விட பல்லாயிரக்கணக்கான மற்றும் நூற்றுக்கணக்கான மடங்கு வேகமானது மற்றும் வன்பொருள் வடிவமைப்பில் மிகவும் எளிமையானது.

அத்தகைய அதிவேகத்திற்கான விலை கிரிப்டோகிராஃபிக் வலிமை இல்லாதது - முன்பே அறியப்பட்ட தொகைக்கு செய்தியை சரிசெய்ய எளிதான வாய்ப்பு. மேலும், செக்சம்கள் (வழக்கமான: 32 பிட்கள்) பொதுவாக கிரிப்டோகிராஃபிக் ஹாஷ்களை விட அகலத்தில் குறைவாக இருக்கும் (வழக்கமான: 128, 160 மற்றும் 256 பிட்கள்), அதாவது எதிர்பாராத மோதல்கள் ஏற்படலாம்.

ஒரு செய்தியை 32- அல்லது 16-பிட் வார்த்தைகளாகப் பிரித்து அவற்றைத் தொகுக்க வேண்டும், எடுத்துக்காட்டாக, TCP/IP இல் பயன்படுத்தப்படும் அத்தகைய வழிமுறையின் எளிய நிகழ்வு.

ஒரு விதியாக, கொடுக்கப்பட்ட நீளத்திற்கு பல தொடர்ச்சியான பிழையான பிட்கள் போன்ற வழக்கமான வன்பொருள் பிழைகளைக் கண்காணிக்க இத்தகைய வழிமுறை தேவைப்படுகிறது. அல்காரிதம்களின் குடும்பம் என்று அழைக்கப்படுகிறது "சுழற்சி பணிநீக்கக் குறியீடுகள்" இந்தத் தேவைகளைப் பூர்த்தி செய்கிறது. எடுத்துக்காட்டாக, ஈத்தர்நெட் சாதனங்களிலும் ZIP தரவு சுருக்க வடிவமைப்பிலும் பயன்படுத்தப்படும் CRC32 ஆகியவை இதில் அடங்கும்.

செக்சம், எடுத்துக்காட்டாக, முக்கிய உரையுடன் தொடர்பு சேனலில் அனுப்பப்படலாம். பெறுதல் முடிவில், செக்சம் மீண்டும் கணக்கிடப்பட்டு அனுப்பப்பட்ட மதிப்புடன் ஒப்பிடலாம். ஒரு முரண்பாடு கண்டறியப்பட்டால், பரிமாற்றத்தின் போது சிதைவு ஏற்பட்டது மற்றும் மீண்டும் மீண்டும் கோரப்படலாம்.

இந்த வழக்கில் ஹாஷிங்கின் வீட்டு அனலாக், நகரும் போது, ​​சாமான்களின் துண்டுகளின் எண்ணிக்கை நினைவகத்தில் வைக்கப்படும் போது நுட்பமாக இருக்கலாம். பின்னர், சரிபார்க்க, ஒவ்வொரு சூட்கேஸைப் பற்றியும் நீங்கள் நினைவில் வைத்திருக்க வேண்டியதில்லை, ஆனால் அவற்றை எண்ணுங்கள். ஒரு போட்டி என்றால் சூட்கேஸ் தொலைந்து போகவில்லை என்று அர்த்தம். அதாவது, சாமான்களின் துண்டுகளின் எண்ணிக்கை அதன் ஹாஷ் குறியீடு. கடத்தப்பட்ட தகவல் (MAC முறை) பொய்யாக்கப்படுவதிலிருந்து பாதுகாக்க இந்த முறையை எளிதாக விரிவுபடுத்தலாம். இந்த வழக்கில், செய்தியை அனுப்புபவருக்கும் பெறுபவருக்கும் மட்டுமே தெரிந்த ரகசிய விசையுடன் இணைந்து செய்தியில் கிரிப்டோ-ஸ்ட்ராங் செயல்பாட்டின் மூலம் ஹாஷிங் செய்யப்படுகிறது. இதனால், ஒரு மறைநூல் பகுப்பாய்வாளர் குறுக்கிடப்பட்ட செய்தி மற்றும் ஹாஷ் செயல்பாட்டு மதிப்பிலிருந்து குறியீட்டை மறுகட்டமைக்க முடியாது, அதாவது, அவர் செய்தியை போலியாக உருவாக்க முடியாது (சாயல் பாதுகாப்பைப் பார்க்கவும்).

வடிவியல் ஹாஷிங்

வடிவியல் ஹாஷிங் வடிவியல் ஹாஷிங்) என்பது கணினி வரைகலை மற்றும் கணக்கீட்டு வடிவவியலில் ஒரு விமானத்தில் அல்லது முப்பரிமாண இடைவெளியில் உள்ள சிக்கல்களைத் தீர்க்க பரவலாகப் பயன்படுத்தப்படும் ஒரு முறையாகும், எடுத்துக்காட்டாக, புள்ளிகளின் தொகுப்பில் அருகிலுள்ள ஜோடிகளைக் கண்டறிவதற்கு அல்லது ஒரே மாதிரியான படங்களைத் தேடுவதற்கு. இந்த முறையில் உள்ள ஹாஷ் செயல்பாடு பொதுவாக சில மெட்ரிக் இடத்தை உள்ளீடாக எடுத்து அதைப் பிரித்து, கலங்களின் கட்டத்தை உருவாக்குகிறது. இந்த வழக்கில் உள்ள அட்டவணை இரண்டு அல்லது அதற்கு மேற்பட்ட குறியீடுகளைக் கொண்ட ஒரு வரிசை மற்றும் கட்டக் கோப்பு என்று அழைக்கப்படுகிறது. கட்டக் கோப்பு) பல பரிமாண சமிக்ஞைகளைக் கையாளும் போது தொலைத்தொடர்புகளிலும் ஜியோமெட்ரிக் ஹாஷிங் பயன்படுத்தப்படுகிறது.

தரவு மீட்டெடுப்பை விரைவுபடுத்துங்கள்

ஹாஷ் அட்டவணை என்பது ஒரு தரவு கட்டமைப்பாகும், இது படிவத்தின் ஜோடிகளை (விசை, ஹாஷ் குறியீடு) சேமிக்க அனுமதிக்கிறது மற்றும் ஒரு உறுப்பைத் தேடுதல், செருகுதல் மற்றும் நீக்குதல் போன்ற செயல்பாடுகளை ஆதரிக்கிறது. ஹாஷ் அட்டவணைகளின் நோக்கம் தேடல்களை விரைவுபடுத்துவதாகும்; எடுத்துக்காட்டாக, உரை புலங்கள் தரவுத்தளத்தில் எழுதப்பட்டால், அவற்றின் ஹாஷ் குறியீட்டைக் கணக்கிடலாம் மற்றும் இந்த ஹாஷ் குறியீட்டுடன் தொடர்புடைய ஒரு பிரிவில் தரவை வைக்கலாம். பின்னர், தரவைத் தேடும்போது, ​​​​நீங்கள் முதலில் உரையின் ஹாஷ் குறியீட்டைக் கணக்கிட வேண்டும், மேலும் நீங்கள் எந்தப் பிரிவில் அதைத் தேட வேண்டும் என்பதை உடனடியாக அறிந்துகொள்வீர்கள், அதாவது, நீங்கள் முழு தரவுத்தளத்திலும் தேட வேண்டும், ஆனால் மட்டுமே அதன் ஒரு பிரிவில் (இது தேடலை பெரிதும் துரிதப்படுத்துகிறது).

இந்த வழக்கில் ஹாஷிங்கின் பொதுவான அனலாக் என்பது அகராதியில் சொற்களை அகரவரிசையில் வைப்பதாகும். ஒரு வார்த்தையின் முதல் எழுத்து அதன் ஹாஷ் குறியீடு, மற்றும் தேடும்போது, ​​முழு அகராதியையும் பார்க்காமல், விரும்பிய எழுத்தை மட்டுமே பார்க்கிறோம்.

குறிப்புகள்

இலக்கியம்

  • புரூஸ் ஷ்னியர்"அப்ளைடு கிரிப்டோகிராஃபி. நெறிமுறைகள், அல்காரிதம்கள், சி மொழியில் மூல நூல்கள்." - எம்.: ட்ரையம்ப், 2002. -

நான் நம்புவது போல், 2007 ஆம் ஆண்டு முதல், US நேஷனல் இன்ஸ்டிடியூட் ஆஃப் ஸ்டாண்டர்ட்ஸ் அண்ட் டெக்னாலஜி (NIST) SHA-1 மற்றும் SHA-2 அல்காரிதம்களின் குடும்பத்திற்குப் பதிலாக ஹாஷ் அல்காரிதத்தை உருவாக்க ஒரு போட்டியை நடத்தி வருகிறது என்பது பலருக்குத் தெரியும். இருப்பினும், சில காரணங்களால் இந்தத் தலைப்பு தளத்தில் புறக்கணிக்கப்பட்டது. இதுதான் உண்மையில் என்னை உங்களிடம் கொண்டு வந்தது. ஹாஷ் அல்காரிதம்களுக்கு அர்ப்பணிக்கப்பட்ட தொடர் கட்டுரைகளை உங்கள் கவனத்திற்குக் கொண்டு வருகிறேன். இந்தத் தொடரில், ஹாஷ் செயல்பாடுகளின் அடிப்படைகளை நாங்கள் ஒன்றாகப் படிப்போம், மிகவும் பிரபலமான ஹாஷ் அல்காரிதம்களைக் கருத்தில் கொள்வோம், SHA-3 போட்டியின் வளிமண்டலத்தில் மூழ்கி, அதை வெல்வதாகக் கூறும் அல்காரிதம்களைக் கருத்தில் கொள்வோம், நிச்சயமாக அவற்றைச் சோதிப்போம். மேலும், முடிந்தால், ரஷ்ய ஹாஷிங் தரநிலைகள் பரிசீலிக்கப்படும்.

என்னை பற்றி

தகவல் பாதுகாப்பு துறையின் மாணவர்.

ஹாஷிங் பற்றி

இப்போதெல்லாம், ஹாஷிங்கைப் பயன்படுத்தாமல் கிட்டத்தட்ட எந்த கிரிப்டோகிராஃபி பயன்பாடும் முழுமையடையாது.
ஹாஷ் செயல்பாடுகள் என்பது ஒரு தன்னிச்சையான செய்தி அல்லது தரவுகளின் தொகுப்பை "சுருக்க" வடிவமைக்கப்பட்ட செயல்பாடுகளாகும், பொதுவாக பைனரி எழுத்துக்களில் எழுதப்படும், சில நிலையான-நீள பிட் பேட்டர்னில் கன்வல்யூஷன் எனப்படும். புள்ளியியல் சோதனைகள், தருக்க சாதனங்களைச் சோதித்தல் மற்றும் விரைவான தேடல்களுக்கான அல்காரிதம்களை உருவாக்குதல் மற்றும் தரவுத்தளங்களில் உள்ள பதிவுகளின் ஒருமைப்பாட்டை சரிபார்க்கும் போது ஹாஷ் செயல்பாடுகள் பல்வேறு பயன்பாடுகளைக் கொண்டுள்ளன. ஹாஷ் செயல்பாடுகளுக்கான முக்கிய தேவை, வாத மதிப்புகள் தோராயமாக தேர்ந்தெடுக்கப்படும் போது அவற்றின் மதிப்புகளின் சீரான விநியோகம் ஆகும்.
கிரிப்டோகிராஃபிக் ஹாஷ் சார்பு என்பது கிரிப்டோகிராஃபிக் ரீதியாக நிலையான எந்த ஹாஷ் செயல்பாடாகும், அதாவது கிரிப்டோகிராஃபிக் பயன்பாடுகளுக்கு குறிப்பிட்ட பல தேவைகளை இது பூர்த்தி செய்கிறது. குறியாக்கவியலில், பின்வரும் சிக்கல்களைத் தீர்க்க ஹாஷ் செயல்பாடுகள் பயன்படுத்தப்படுகின்றன:
- அவற்றின் பரிமாற்றம் அல்லது சேமிப்பகத்தின் போது தரவு ஒருமைப்பாடு கண்காணிப்பு அமைப்புகளை உருவாக்குதல்,
- தரவு மூல அங்கீகாரம்.

எந்தவொரு செயல்பாடும் ஹாஷ் செயல்பாடு என்று அழைக்கப்படுகிறது h:X -> ஒய், எளிதில் கணக்கிடக்கூடியது மற்றும் எந்த செய்திக்கும் எம்பொருள் h(M) = H (மாற்றம்)ஒரு நிலையான பிட் நீளம் உள்ளது. எக்ஸ்- அனைத்து செய்திகளின் தொகுப்பு, ஒய்- நிலையான நீளத்தின் பைனரி திசையன்களின் தொகுப்பு.

ஒரு விதியாக, ஹாஷ் செயல்பாடுகள் ஒரு-படி சுருக்க செயல்பாடுகள் என்று அழைக்கப்படுவதன் அடிப்படையில் கட்டமைக்கப்படுகின்றன. y = f(x 1 , x 2)இரண்டு மாறிகள், எங்கே x 1, x 2மற்றும் ஒய்- நீளமுள்ள பைனரி திசையன்கள் மீ, nமற்றும் nஅதன்படி, மற்றும் nவளைவின் நீளம், மற்றும் மீ- செய்தி தொகுதி நீளம்.
மதிப்பைப் பெறுவதற்கு h(M)செய்தி முதலில் நீளத் தொகுதிகளாகப் பிரிக்கப்படுகிறது மீ(அதே நேரத்தில், செய்தியின் நீளம் பல இல்லை என்றால் மீகடைசித் தொகுதி அது முடியும் வரை சில சிறப்பு வழிகளில் சேர்க்கப்படும்), பின்னர் அதன் விளைவாக வரும் தொகுதிகளுக்கு எம் 1, எம் 2,.., எம் என்வளைவைக் கணக்கிடுவதற்கு பின்வரும் தொடர் செயல்முறையைப் பயன்படுத்தவும்:

H o = v,
H i = f(M i ,H i-1), i = 1,.., N,
h(M) = HN

இங்கே v- சில மாறிலி, பெரும்பாலும் துவக்க திசையன் என்று அழைக்கப்படுகிறது. அவள் வெளியேறுகிறாள்
பல்வேறு காரணங்களுக்காக மற்றும் ஒரு இரகசிய மாறிலி அல்லது சீரற்ற தரவுகளின் தொகுப்பாக இருக்கலாம் (எடுத்துக்காட்டாக, தேதி மற்றும் நேரத்தின் மாதிரி).
இந்த அணுகுமுறையுடன், ஹாஷ் செயல்பாட்டின் பண்புகள் ஒரு-படி சுருக்க செயல்பாட்டின் பண்புகளால் முழுமையாக தீர்மானிக்கப்படுகின்றன.

கிரிப்டோகிராஃபிக் ஹாஷ் செயல்பாடுகளில் இரண்டு முக்கிய வகைகள் உள்ளன - கீ மற்றும் கீலெஸ். முக்கிய ஹாஷ் செயல்பாடுகள் செய்தி அங்கீகார குறியீடுகள் என்று அழைக்கப்படுகின்றன. ஒருவரையொருவர் நம்பும் பயனர்களுடன் கணினிகளில் தரவு மூலத்தின் சரியான தன்மை மற்றும் தரவின் ஒருமைப்பாடு ஆகிய இரண்டிற்கும் உத்தரவாதம் அளிப்பதை கூடுதல் வழிகள் இல்லாமல் அவை சாத்தியமாக்குகின்றன.
கீலெஸ் ஹாஷ் செயல்பாடுகள் பிழை கண்டறிதல் குறியீடுகள் என்று அழைக்கப்படுகின்றன. கூடுதல் வழிகளைப் பயன்படுத்தி தரவு ஒருமைப்பாட்டிற்கு உத்தரவாதம் அளிப்பதை அவை சாத்தியமாக்குகின்றன (உதாரணமாக, குறியாக்கம்). இந்த ஹாஷ் செயல்பாடுகளை நம்பகமான மற்றும் அவநம்பிக்கையான பயனர்கள் உள்ள கணினிகளில் பயன்படுத்தலாம்.

புள்ளிவிவர பண்புகள் மற்றும் தேவைகள் பற்றி

நான் ஏற்கனவே கூறியது போல், ஹாஷ் செயல்பாடுகளுக்கான முக்கிய தேவை, வாத மதிப்புகள் தோராயமாக தேர்ந்தெடுக்கப்படும் போது அவற்றின் மதிப்புகளின் சீரான விநியோகம் ஆகும். கிரிப்டோகிராஃபிக் ஹாஷ் செயல்பாடுகளுக்கு, வாதத்தில் சிறிதளவு மாற்றத்துடன், செயல்பாட்டின் மதிப்பு பெரிதும் மாறுவதும் முக்கியம். இது பனிச்சரிவு விளைவு என்று அழைக்கப்படுகிறது.

முக்கிய ஹாஷிங் செயல்பாடுகளுக்கு பின்வரும் தேவைகள் உள்ளன:
- இயலாமை,
- மாற்றம் சாத்தியமற்றது.

முதல் தேவை என்னவென்றால், சரியான சரிவு மதிப்பைக் கொண்ட செய்தியைக் கண்டறிவது மிகவும் கடினம். இரண்டாவது, தெரிந்த கன்வல்யூஷன் மதிப்புடன் கொடுக்கப்பட்ட செய்திக்கு, சரியான கன்வல்யூஷன் மதிப்பைக் கொண்ட மற்றொரு செய்தியைத் தேர்ந்தெடுப்பதில் அதிக சிக்கலானது.

விசை இல்லாத செயல்பாடுகளுக்கான தேவைகள்:
- ஒருதலைப்பட்சம்,
- மோதல் எதிர்ப்பு,
- இரண்டாவது முன் படத்தைக் கண்டறிவதற்கான எதிர்ப்பு.

ஒரு திசை என்பது கொடுக்கப்பட்ட கன்வல்யூஷன் மதிப்பின் அடிப்படையில் ஒரு செய்தியைக் கண்டறிவதில் உள்ள அதிக சிரமத்தைக் குறிக்கிறது. இந்த நேரத்தில் நிரூபிக்கப்பட்ட ஒரு வழியுடன் எந்த ஹாஷ் செயல்பாடுகளும் பயன்பாட்டில் இல்லை என்பதைக் கவனத்தில் கொள்ள வேண்டும்.
மோதல் எதிர்ப்பு என்பது ஒரே கன்வல்யூஷன் மதிப்புகளைக் கொண்ட ஒரு ஜோடி செய்திகளைக் கண்டறிவதில் உள்ள சிரமத்தைக் குறிக்கிறது. வழக்கமாக, கிரிப்டானலிஸ்டுகள் மூலம் மோதல்களை உருவாக்குவதற்கான வழியைக் கண்டுபிடிப்பதுதான், அல்காரிதம் வழக்கற்றுப் போகிறது மற்றும் அதை விரைவாக மாற்ற வேண்டும் என்பதற்கான முதல் சமிக்ஞையாக செயல்படுகிறது.
இரண்டாவது ப்ரீமேஜைக் கண்டறிவதற்கான எதிர்ப்பு என்பது, அறியப்பட்ட கன்வல்யூஷன் மதிப்புடன் கொடுக்கப்பட்ட செய்திக்கு அதே கன்வல்யூஷன் மதிப்புடன் இரண்டாவது செய்தியைக் கண்டுபிடிப்பதில் உள்ள சிரமத்தைக் குறிக்கிறது.

இது கோட்பாட்டு பகுதியாக இருந்தது, இது எதிர்காலத்தில் நமக்கு பயனுள்ளதாக இருக்கும்...

பிரபலமான ஹாஷ் அல்காரிதம்கள் பற்றி

அல்காரிதம்கள் CRC16/32- செக்சம் (கிரிப்டோகிராஃபிக் மாற்றம் அல்ல).

அல்காரிதம்கள் MD2/4/5/6. அவை RSA அல்காரிதத்தின் ஆசிரியர்களில் ஒருவரான ரான் ரிவெஸ்டின் உருவாக்கம்.
MD5 அல்காரிதம் ஒரு காலத்தில் மிகவும் பிரபலமாக இருந்தது, ஆனால் தொண்ணூறுகளின் பிற்பகுதியில் ஹேக்கிங்கிற்கான முதல் முன்நிபந்தனைகள் தோன்றின, இப்போது அதன் புகழ் வேகமாக குறைந்து வருகிறது.
MD6 அல்காரிதம் என்பது வடிவமைப்புக் கண்ணோட்டத்தில் மிகவும் சுவாரஸ்யமான வழிமுறையாகும். இது SHA-3 போட்டிக்கு பரிந்துரைக்கப்பட்டது, ஆனால், துரதிர்ஷ்டவசமாக, ஆசிரியர்களுக்கு அதை தரநிலைக்கு கொண்டு வர நேரம் இல்லை, மேலும் இந்த வழிமுறை இரண்டாவது சுற்றுக்கு வந்த வேட்பாளர்களின் பட்டியலில் இல்லை.

ஆட்சியாளர் அல்காரிதம்கள் SHAஇன்று பரவலாகப் பயன்படுத்தப்படும் அல்காரிதம்கள். SHA-1 இலிருந்து SHA-2 பதிப்பு தரநிலைகளுக்கு செயலில் மாற்றம் உள்ளது. SHA-2 என்பது SHA224, SHA256, SHA384 மற்றும் SHA512 அல்காரிதம்களுக்கான கூட்டுப் பெயர். SHA224 மற்றும் SHA384 ஆகியவை முறையே SHA256 மற்றும் SHA512 ஆகியவற்றின் ஒப்புமைகளாகும், வளைவைக் கணக்கிட்ட பின்னரே, அதில் உள்ள சில தகவல்கள் நிராகரிக்கப்படுகின்றன. பழைய மாடல்களின் உபகரணங்களுடன் பொருந்தக்கூடிய தன்மையை உறுதிப்படுத்த மட்டுமே அவை பயன்படுத்தப்பட வேண்டும்.

ரஷ்ய தரநிலை - GOST 34.11-94.

அடுத்த கட்டுரையில்

MD அல்காரிதம்களின் மதிப்பாய்வு (MD4, MD5, MD6).

இலக்கியம்

ஏ.பி. அல்பெரோவ், குறியாக்கவியலின் அடிப்படைகள்.

புரூஸ் ஷ்னியர், அப்ளைடு கிரிப்டோகிராஃபி.