സൈക്ലിക്ക് റിഡണ്ടൻസി ചെക്ക്
കംപ്യൂട്ടറിൽ സൂക്ഷിച്ചിരിക്കുന്നതും നെറ്റ്വർക്കുകളിലൂടെ കൈമാറ്റം ചെയ്യപ്പെടുന്നതുമായ ഡാറ്റയിൽ യാദൃച്ഛികമായി വരുന്ന മാറ്റങ്ങളെ തിരിച്ചറിയാനുപയോഗിക്കുന്ന ഹാഷ് ഫങ്ഷനാണ് സൈക്ലിക്ക് റിഡണ്ടൻസി ചെക്ക് (CRC). ഈ രീതി പൂർണ്ണമായും ഭദ്രമല്ല. ടെലികമ്മ്യൂണിക്കേഷൻ നെറ്റ്വർക്കുകളിലും ഹാർഡ് ഡിസ്ക് ഡ്രൈവുകളിലും ഇത് സാധാരണയായി ഉപയോഗിക്കുന്നു. സിആർസി ഉപയോഗിക്കുന്ന ഉപകരണങ്ങൾ ഡാറ്റ സൂക്ഷിക്കുകയോ കൈമാറുകയോ ചെയ്യുമ്പോൾ ഡാറ്റയുടെ ബ്ലോക്കുകളോടൊപ്പം ചെറുതും നിശ്ചിത എണ്ണം അക്കങ്ങളുള്ളതുമായ ഒരു ദ്വയാംഗസംഖ്യാശ്രേണികൂടി സൂക്ഷിക്കുകയോ കൈമാറുകയോ ചെയ്യുന്നു. ഈ ശ്രേണിയെ സിആർസി കോഡ് എന്നും സിആർസി എന്നും വിളിക്കുന്നു. ഈ ഡാറ്റാ ബ്ലോക്ക് പിന്നീട് വായിക്കുമ്പോൾ (അഥവാ നെറ്റ്വർക്കിലെ മറ്റൊരു കംപ്യൂട്ടർ സ്വീകരിക്കുമ്പോൾ) ഈ കണക്കുകൂട്ടൽ അവർത്തിക്കുകയും സിആർസി കോഡ് ചേർച്ചയില്ലാത്തതാണെങ്കിൽ ഡാറ്റയിൽ മാറ്റം വന്നിട്ടുണ്ടെന്ന് മനസ്സിലാക്കുകയും ചെയ്യുന്നു. ഇതിനനുസരിച്ച് ഉപകരണത്തിന് ഡാറ്റയിലെ തെറ്റ് തിരുത്താനായി ഡാറ്റ വീണ്ടും വായിക്കുകയോ നെറ്റ്വർക്കിലൂടെ വീണ്ടും കൈമാറാനഭ്യർത്ഥിക്കുകയോ ചെയ്യാം[1].
സിആർസി കോഡ് ചേർക്കുന്നതുവഴി പുതുതായി വിവരങ്ങളൊന്നും ചേർക്കപ്പെടുന്നതിനാലും (അതായത്, കോഡ് റിഡണ്ടന്റ് (redundant) ആണ്) ഇതിലെ അൽഗൊരിതം സൈക്ലിക് കോഡുകളെ അടിസ്ഥാനമാക്കിയുള്ളതാണ് എന്നതിനാലുമാണ് ഈ രീതിക്ക് പേര് ലഭിച്ചത്. കോഡിനെയും ഏത് വലിപ്പമുള്ള ഡാറ്റയും ഇൻപുട്ട് ചെയ്ത് അതിനുള്ള നിശ്ചിത നീളമുള്ള കോഡ് ഔട്ട്പുട്ട് ചെയ്യുന്ന ഫങ്ഷനെയും സൂചിപ്പിക്കാൻ സിആർസി എന്ന വാക്ക് ഉപയോഗിക്കാം. ദ്വയാങ്കസംഖ്യാവ്യവസ്ഥ ഉപയോഗിക്കുന്ന കംപ്യൂട്ടറുകളിൽ പ്രാവർത്തികമാക്കാൻ എളുപ്പമാണ്, ഗണിതപരമായ വിശകലനം സരളമാണ്, നെറ്റ്വർക്കുകളിൽ ഡാറ്റ കൈമാറുമ്പോൾ ഉണ്ടാകുന്ന സാധാരണ പ്രശ്നങ്ങളെ (noise മൂലമുള്ളവ) തിരിച്ചറിയുന്നതിൽ നല്ല പ്രകടനം കാഴ്ചവക്കുന്നു എന്ന കാരണങ്ങളാൽ ഇത് തെറ്റുകൾ കണ്ടുപിടിക്കാനായി വ്യാപകമായി ഉപയോഗിക്കപ്പെടുന്നു. ഡബ്ലിയു. വെസ്ലി പീറ്റർസണാണ് സിആർസി കണ്ടെത്തിയത്. 1961-ൽ ഇത് അദ്ദേഹം പ്രസിദ്ധീകരിച്ചു[2]. എതർനെറ്റിലും മറ്റും ഉപയോഗിക്കപ്പെടുന്നതും ഐഇഇഇയുടെ ശുപാർശയുള്ളതുമായ 32-ബിറ്റ് സിആർസി 1975-ൽ പുറത്തുവന്നു[3]
ആമുഖം
[തിരുത്തുക]സിആർസി കണക്കാക്കുന്ന രീതി സംഖ്യകളെ ഹരിക്കാനായി സാധാരണ ഉപയോഗിക്കുന്ന രീതിക്ക് സമാനമാണ്. ഹരണത്തിൽ വരുന്ന ശിഷ്ടമാണ് സിആർസിയായി ഉപയോഗിക്കുന്നത്. എന്നാൽ ഇവിടെ മണ്ഡലം സാധാരണ സംഖ്യകളിൽ നിന്ന് വ്യത്യസ്തമായി finite field ആണ്. ഇക്കാരണത്താൽ, ബഹുപദങ്ങളെ ഹരിക്കുന്നതിനോടാണ് ഈ രീതിക്ക് കൂടുതൽ സാമ്യം. ശിഷ്ടത്തിന്റെ നീളം ഹാരകത്തിന്റെതിനെക്കാൾ കുറവായിരിക്കും എന്നതിനാൽ സിആർസിയുടെ നീളം ഒരു നിശ്ചിത നീളത്തിലും കുറവായിരിക്കും.
ഏത് ഫൈനൈറ്റ് ഫീൽഡുപയോഗിച്ചും സിആർസി സൃഷ്ടിക്കാം എന്നുണ്ടെങ്കിലും ദ്വയാങ്കസംഖ്യകളുടെ ഗാൽവ മണ്ഡലമായ GF(2) ആണ് സാധാരണ ഉപയോഗിക്കാറ്. 0,1 എന്ന രണ്ട് അംഗങ്ങളുള്ളതും സങ്കലനത്തിന്റെ സ്ഥാനത്ത് XOR, ഗുണനത്തിന്റെ സ്ഥാനത്ത് AND എന്നി സംക്രിയകൾ ഉപയോഗിക്കുന്നതുമായ മണ്ഡലമാണിത്.
പാരിറ്റി ബിറ്റ്
[തിരുത്തുക]ഡാറ്റയിലെ തെറ്റുകൾ കണ്ടെത്താൻ വ്യാപകമായി ഉപയോഗിക്കപ്പെടുന്ന പാരിറ്റി ബിറ്റ് യഥാർത്ഥത്തിൽ സിആർസിയുടെ ഒരു പ്രത്യേക രൂപമാണ്. ഒരു ഡാറ്റ ബ്ലോക്കിലെ വില 1 ആയ ബിറ്റുകളുടെ എണ്ണം എല്ലായ്പ്പോഴും ഇരട്ടസംഖ്യയായി (അഥവാ ഒറ്റസംഖ്യയായി) വരുന്ന രീതിയിൽ ബ്ലോക്കിന്റെ അവസാനം ഒരു ബിറ്റ് ചേർക്കുകയാണ് ഈ രീതിയിൽ ചെയ്യുന്നത്. സിആർസി കണക്കുകൂട്ടുമ്പോൾ ബഹുപദമായി x+1 ഉപയോഗിച്ചാൽ even parity bit (ഡാറ്റ ബ്ലോക്കിലെ വില 1 ആയ ബിറ്റുകളുടെ എണ്ണം എല്ലായ്പ്പോഴും ഇരട്ടസംഖ്യയായി വരുന്ന രീതി) ലഭിക്കും.
അവലംബം
[തിരുത്തുക]- ↑ Ritter, Terry (1986). "The Great CRC Mystery". Dr. Dobb's Journal. 11 (2): 26–34, 76–83. Retrieved 21 May 2009.
{{cite journal}}
: Unknown parameter|month=
ignored (help) - ↑ Peterson, W. W. and Brown, D. T. (1961). "Cyclic Codes for Error Detection". Proceedings of the IRE. 49: 228. doi:10.1109/JRPROC.1961.287814.
{{cite journal}}
: Unknown parameter|month=
ignored (help)CS1 maint: multiple names: authors list (link) - ↑ Brayer, K (1975). "Evaluation of error detection polynomial performance on the AUTOVON channel". Conference Record. National Telecommunications Conference, New Orleans, La. Vol. 1. New York: Institute of Electrical and Electronics Engineers. pp. 8-21 to 8-25.
{{cite conference}}
: Unknown parameter|booktitle=
ignored (|book-title=
suggested) (help); Unknown parameter|coauthors=
ignored (|author=
suggested) (help); Unknown parameter|month=
ignored (help)