Fugue (hash function)
ಫ್ಯೂಗ್ ಎಂಬುದು ಎನ್ಐಎಸ್ಟಿ ಹ್ಯಾಶ್ ಫಂಕ್ಷನ್ ಸ್ಪರ್ಧೆಗೆ ಐಬಿಎಂ ಸಲ್ಲಿಸಿದ ಕ್ರಿಪ್ಟೋಗ್ರಾಫಿಕ್ ಹ್ಯಾಶ್ ಕಾರ್ಯವಾಗಿದೆ. ಇದನ್ನು ಶಾಯ್ ಹಲೇವಿ, ವಿಲಿಯಂ ಇ. ಹಾಲ್ ಮತ್ತು ಚರಣ್ಜಿತ್ ಎಸ್. ಜುಟ್ಲಾ ಅವರು ವಿನ್ಯಾಸಗೊಳಿಸಿದರು. ಫ್ಯೂಗ್ ಒಂದು ಅನಿಯಂತ್ರಿತ-ಉದ್ದದ ಸಂದೇಶವನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಅದನ್ನು ಸ್ಥಿರ ಬಿಟ್-ಉದ್ದಕ್ಕೆ (224,256,384 ಅಥವಾ 512 ಬಿಟ್ಗಳು) ಕುಗ್ಗಿಸುತ್ತದೆ. ವಿವಿಧ ಔಟ್ಪುಟ್ ಉದ್ದಗಳಿಗೆ ಹ್ಯಾಶ್ ಕಾರ್ಯಗಳನ್ನು ಫ್ಯೂಗ್-224, ಫ್ಯೂಗ್-256, ಫ್ಯೂಗ್-384 ಮತ್ತು ಫ್ಯೂಗ್-512 ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ. ಲೇಖಕರು ಫ್ಯೂಗ್ನ ನಿಯತಾಂಕಬದ್ಧ ಆವೃತ್ತಿಯನ್ನು ಸಹ ವಿವರಿಸುತ್ತಾರೆ. ಈ ನಿಯತಾಂಕಗೊಳಿಸಲಾದ ಆವೃತ್ತಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಫ್ಯೂಗ್-256ರ ದುರ್ಬಲ ಆವೃತ್ತಿಯನ್ನು ಸಹ ವಿವರಿಸಲಾಗಿದೆ. ಡಿಫರೆನ್ಷಿಯಲ್ ಕ್ರಿಪ್ಟಾನಾಲಿಸಿಸ್ ಅನ್ನು ಆಧರಿಸಿದ ವ್ಯಾಪಕ ಶ್ರೇಣಿಯ ಪ್ರಸ್ತುತ ದಾಳಿ ತಂತ್ರಗಳು ಫ್ಯೂಗ್ ವಿರುದ್ಧ ಪರಿಣಾಮಕಾರಿಯಾಗಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂಬುದಕ್ಕೆ ಲೇಖಕರು ಹೇಳಿಕೊಂಡ ಪುರಾವೆ ಫ್ಯೂಗ್ನ ಮಾರಾಟದ ಬಿಂದುವಾಗಿದೆ. ಇದು ಸಾಫ್ಟ್ವೇರ್ ಮತ್ತು ಹಾರ್ಡ್ವೇರ್ ದಕ್ಷತೆ ಎರಡರಲ್ಲೂ ಎನ್ಐಎಸ್ಟಿ ಹ್ಯಾಶ್ ಫಂಕ್ಷನ್ ಎಸ್ಎಚ್ಎ-256 ನೊಂದಿಗೆ ಸ್ಪರ್ಧಾತ್ಮಕವಾಗಿದೆ ಎಂದು ಹೇಳಲಾಗುತ್ತದೆ, ಇಂಟೆಲ್ ಫ್ಯಾಮಿಲಿ 6 ಮಾಡೆಲ್ 15 ಕ್ಸಿಯಾನ್ 5150 ನಲ್ಲಿ ಪ್ರತಿ ಬೈಟ್ಗೆ 36.2 ಸೈಕಲ್ಗಳನ್ನು ಮತ್ತು ಇಂಟೆಲ್ ಕೋರ್ 2 ಪ್ರೊಸೆಸರ್ ಟಿ7700 ನಲ್ಲಿ ಪ್ರತಿ ಬೈಟ್ಗೆ 25 ಸೈಕಲ್ಗಳನ್ನು ಸಾಧಿಸುತ್ತದೆ. 45 ಎನ್ಎಂ ಕೋರ್2 ಪ್ರೊಸೆಸರ್ಗಳಲ್ಲಿ, ಉದಾಹರಣೆಗೆ. T9400, ಫ್ಯೂಗ್-256, SSE4.1 ಸೂಚನೆಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರತಿ ಬೈಟ್ಗೆ 16 ಚಕ್ರಗಳಲ್ಲಿ ಚಲಿಸುತ್ತದೆ. ಹೊಸ ವೆಸ್ಟ್ಮಿಯರ್ ವಾಸ್ತುಶಿಲ್ಪಗಳಲ್ಲಿ (32 ಎನ್ಎಂ), ಉದಾಹರಣೆಗೆ. ಕೋರ್ ಐ5, ಫ್ಯೂಗ್-256 14 ಸೈಕಲ್/ಬೈಟ್ಗಳಲ್ಲಿ ಚಲಿಸುತ್ತದೆ. ಫ್ಯೂಗ್ನ ವಿನ್ಯಾಸವು ಹ್ಯಾಶ್ ಫಂಕ್ಷನ್ ಗ್ರಿಂಡಾಲ್ನಿಂದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ, ಮತ್ತು ಗ್ರಿಂಡಾಲ್ನಂತೆ ಎಇಎಸ್ನಿಂದ ಎಸ್-ಬಾಕ್ಸ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ಆದರೆ ಇದು 4x4 ಕಾಲಮ್ ಮಿಕ್ಸಿಂಗ್ ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು 16x16 "ಸೂಪರ್-ಮಿಕ್ಸ್" ಕಾರ್ಯಾಚರಣೆಯೊಂದಿಗೆ ಬದಲಾಯಿಸುತ್ತದೆ, ಇದು ಪ್ರಸರಣವನ್ನು ಹೆಚ್ಚು ಸುಧಾರಿಸುತ್ತದೆ. ಆದಾಗ್ಯೂ, "ಸೂಪರ್-ಮಿಕ್ಸ್" ಕಾರ್ಯಾಚರಣೆಯು ಎಇಎಸ್ ಮಿಶ್ರಣ ತಂತ್ರಕ್ಕಿಂತ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಗಣನೆಗೆ ಸ್ವಲ್ಪ ಹೆಚ್ಚು ದುಬಾರಿಯಾಗಿದೆ. ಸೂಪರ್ಮಿಕ್ಸ್ ಫ್ಯೂಗ್ನ 224 ಮತ್ತು 256 ಬಿಟ್ ರೂಪಾಂತರಗಳು ಸಹಿ ಮಾಡದ ಬೈಟ್ಗಳ 4 ಬೈ 30 ಮ್ಯಾಟ್ರಿಕ್ಸ್ನಲ್ಲಿ ಪ್ರತಿನಿಧಿಸಬಹುದಾದ ಸ್ಥಿತಿಯೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ, ಆದರೆ 384 ಮತ್ತು 512 ಬಿಟ್ ರೂಪಾಂತರಗಳು 4 ಬೈ 36 ಬೈಟ್ ಮ್ಯಾಟ್ರಿಕ್ಸ್ನೊಂದಿಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ. ಈ ರಾಜ್ಯದಲ್ಲಿ ಕಾರ್ಯಾಚರಣೆಗಳನ್ನು ಸ್ಥಳದಲ್ಲೇ ನಡೆಸಬಹುದು. "ಸೂಪರ್ಮಿಕ್ಸ್ ರೂಪಾಂತರ" ಎಂದು ಕರೆಯಲ್ಪಡುವ ಅಲ್ಗಾರಿದಮ್ನ ಕೋರ್, 4x4 ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು ಇನ್ಪುಟ್ ಆಗಿ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಹೊಸ 4x4 ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ. ಸೂಪರ್ಮೀಕ್ಸ್ಗೆ ಇನ್ಪುಟ್ ಕೇವಲ ಪ್ರಸ್ತುತ 30-ಕಾಲಮ್ ಸ್ಥಿತಿಯ ಮೊದಲ ನಾಲ್ಕು ಕಾಲಮ್ಗಳು ಮತ್ತು ಔಟ್ಪುಟ್ ಅನ್ನು ಅದೇ ಸ್ಥಿತಿ ಪ್ರದೇಶವನ್ನು ಬದಲಿಸಲು ಬಳಸಲಾಗುತ್ತದೆ (ಅಂದರೆ. ಸೂಪರ್ಮಿಕ್ಸ್ ರಾಜ್ಯದ ತಲೆಯ 4x4 ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಮೇಲೆ ಮಾತ್ರ ಪರಿಣಾಮ ಬೀರುತ್ತದೆ). ಸೂಪರ್ಮೀಕ್ಸ್ ಕಾರ್ಯವನ್ನು ಹೀಗೆ ವ್ಯಾಖ್ಯಾನಿಸಬಹುದುಃ ಎಲ್ಲಿಃ; ಇದು ಬೈಟ್ಗಳ 4x4 ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಆಗಿದೆ (ಅಂದರೆ. ಇನ್ಪುಟ್ನ ಎಸ್-ಬಾಕ್ಸ್ ಪರ್ಯಾಯದ ನಂತರ ಮ್ಯಾಟ್ರಿಕ್ಸ್); ಮತ್ತು ಎಂ. ರೂಪಾಂತರವು 4x4 ಮ್ಯಾಟ್ರಿಕ್ಸ್ ಅನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ, ಮತ್ತು-ನೇ ಸಾಲನ್ನು ಬೈಟ್ಗಳಿಂದ ಎಡಕ್ಕೆ ತಿರುಗಿಸುತ್ತದೆ, ಅಂದರೆ. ಫ್ಯೂಗ್ 2 ಫ್ಯೂಗ್ 2 ಎಂಬುದು ಮೂಲ ಫ್ಯೂಗ್ನ ಟ್ವೀಕ್ ಆಗಿದೆ, ಇದು 256-ಬಿಟ್ ಔಟ್ಪುಟ್ಗಾಗಿ ಫ್ಯೂಗ್ನ ಎರಡು ಪಟ್ಟು ವೇಗದಲ್ಲಿ ಚಲಿಸುತ್ತದೆ. ವಿನ್ಯಾಸಕಾರರು ಈ ಸುಧಾರಿತ ಆವೃತ್ತಿಗೆ ಭೇದಾತ್ಮಕ ಘರ್ಷಣೆ ದಾಳಿಗಳಿಗೆ ಪ್ರತಿರೋಧದ ಸುಧಾರಿತ ಪುರಾವೆಗಳನ್ನು ನೀಡುತ್ತಾರೆ. ಸಂಪೂರ್ಣ ವಿವರಣೆಯನ್ನು ಕೆಳಗಿನ ಕೊಂಡಿಯಲ್ಲಿ ಕಾಣಬಹುದು. ಬಾಹ್ಯ ಕೊಂಡಿಗಳು ಹ್ಯಾಶ್ ಫಂಕ್ಷನ್ ಫ್ಯೂಗ್ ಎನ್ಐಎಸ್ಟಿ ಹ್ಯಾಶ್ ಫಂಕ್ಷನ್ ಸ್ಪರ್ಧೆ