ಫೈಲ್‌ಗಳ ಮೂಲಕ ಸ್ಟೆಗಾನೋಗ್ರಫಿ: ಡೇಟಾವನ್ನು ನೇರವಾಗಿ ವಲಯಗಳಲ್ಲಿ ಮರೆಮಾಡುವುದು

ಒಂದು ಚಿಕ್ಕ ಮುನ್ನುಡಿ

ಸ್ಟೆಗಾನೋಗ್ರಫಿ, ಯಾರಿಗಾದರೂ ನೆನಪಿಲ್ಲದಿದ್ದರೆ, ಕೆಲವು ಪಾತ್ರೆಗಳಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಮರೆಮಾಡುತ್ತದೆ. ಉದಾಹರಣೆಗೆ, ಚಿತ್ರಗಳಲ್ಲಿ (ಚರ್ಚಿತ ಇಲ್ಲಿ и ಇಲ್ಲಿ) ನೀವು ಫೈಲ್ ಸಿಸ್ಟಮ್ನ ಸೇವಾ ಕೋಷ್ಟಕಗಳಲ್ಲಿ ಡೇಟಾವನ್ನು ಮರೆಮಾಡಬಹುದು (ಇದರ ಬಗ್ಗೆ ಬರೆಯಲಾಗಿದೆ ಇಲ್ಲಿ), ಮತ್ತು ಸಹ TCP ಪ್ರೋಟೋಕಾಲ್ ಸೇವಾ ಪ್ಯಾಕೆಟ್‌ಗಳಲ್ಲಿ. ದುರದೃಷ್ಟವಶಾತ್, ಈ ಎಲ್ಲಾ ವಿಧಾನಗಳು ಒಂದು ನ್ಯೂನತೆಯನ್ನು ಹೊಂದಿವೆ: ಕಂಟೇನರ್‌ನಲ್ಲಿ ಮಾಹಿತಿಯನ್ನು ಅಗ್ರಾಹ್ಯವಾಗಿ "ಸೇರಿಸು" ಮಾಡಲು, ಕಂಟೇನರ್‌ನ ಆಂತರಿಕ ರಚನೆಯ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವ ಕುತಂತ್ರ ಅಲ್ಗಾರಿದಮ್‌ಗಳು ನಿಮಗೆ ಬೇಕಾಗುತ್ತವೆ. ಮತ್ತು ಕುಶಲತೆಗೆ ಕಂಟೇನರ್ನ ಪ್ರತಿರೋಧದೊಂದಿಗೆ ಸಮಸ್ಯೆಗಳು ಉದ್ಭವಿಸುತ್ತವೆ: ಉದಾಹರಣೆಗೆ, ನೀವು ಚಿತ್ರವನ್ನು ಸ್ವಲ್ಪ ಸಂಪಾದಿಸಿದರೆ, ಗುಪ್ತ ಮಾಹಿತಿಯು ಕಳೆದುಹೋಗುತ್ತದೆ.

ಕುತಂತ್ರ ಅಲ್ಗಾರಿದಮ್‌ಗಳು ಮತ್ತು ಡೇಟಾದೊಂದಿಗೆ ಸೂಕ್ಷ್ಮವಾದ ಮ್ಯಾನಿಪ್ಯುಲೇಷನ್‌ಗಳಿಲ್ಲದೆ ಹೇಗಾದರೂ ಮಾಡಲು ಸಾಧ್ಯವೇ, ಮತ್ತು ಇನ್ನೂ ಕಂಟೇನರ್‌ನ ಕ್ರಿಯಾತ್ಮಕತೆಯನ್ನು ಮತ್ತು ಗುಪ್ತ ಡೇಟಾದ ಸ್ವೀಕಾರಾರ್ಹ ಮಟ್ಟದ ಸುರಕ್ಷತೆಯನ್ನು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಲು ಸಾಧ್ಯವೇ? ಮುಂದೆ ನೋಡುತ್ತಿರುವಾಗ, ನಾನು ಹೇಳುತ್ತೇನೆ - ಹೌದು, ನೀವು ಮಾಡಬಹುದು! ನಾನು ಉಪಯುಕ್ತತೆಯನ್ನು ಸಹ ನೀಡುತ್ತೇನೆ.

ವಿಧಾನದ ರಕ್ತಸಿಕ್ತ ವಿವರಗಳು

ಮೂಲ ಕಲ್ಪನೆಯು ಹಣೆಯ ಮೇಲೆ ಹೊಡೆತದಂತೆ ಸರಳವಾಗಿದೆ: ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಮ್ ಎಂದಿಗೂ ಬರೆಯದ (ಅಥವಾ ಅಪರೂಪದ ಸಂದರ್ಭಗಳಲ್ಲಿ ಬರೆಯುವ) ಡಿಸ್ಕ್ನಲ್ಲಿ ಪ್ರದೇಶಗಳಿವೆ. ಕುತಂತ್ರದ ಅಲ್ಗಾರಿದಮ್‌ಗಳನ್ನು ಬಳಸಿಕೊಂಡು ಈ ಪ್ರದೇಶಗಳನ್ನು ಹುಡುಕುವ ಅಗತ್ಯವನ್ನು ತಪ್ಪಿಸಲು, ನಾವು ಪುನರಾವರ್ತನೆಯನ್ನು ಬಳಸುತ್ತೇವೆ - ಅಂದರೆ, ನಾವು ನಮ್ಮ ಗುಪ್ತ ಮಾಹಿತಿಯನ್ನು ಡಿಸ್ಕ್‌ನ ಎಲ್ಲಾ ವಲಯಗಳಲ್ಲಿ ಹಲವು ಬಾರಿ ನಕಲು ಮಾಡುತ್ತೇವೆ. ನಂತರ, ಈ ಎಲ್ಲಾ ವೈಭವದ ಮೇಲೆ, ನೀವು ಅಗತ್ಯವಾದ ವಿಭಾಗಗಳನ್ನು ರಚಿಸಬಹುದು, ಫೈಲ್ ಸಿಸ್ಟಮ್‌ಗಳನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಬಹುದು, ಫೈಲ್‌ಗಳನ್ನು ಬರೆಯಬಹುದು ಮತ್ತು OS ಗಳನ್ನು ಸ್ಥಾಪಿಸಬಹುದು - ಒಂದೇ ರೀತಿ, ರಹಸ್ಯ ಡೇಟಾದ ಭಾಗವನ್ನು ಉಳಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಹಿಂಪಡೆಯಬಹುದು ಮತ್ತು ಪುನರಾವರ್ತಿತ ನಕಲು ನಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ. ತುಂಡುಗಳಿಂದ ಮೂಲವನ್ನು ಒಟ್ಟುಗೂಡಿಸಿ.

ಈ ವಿಧಾನದ ಪ್ರಯೋಜನವು ಸ್ಪಷ್ಟವಾಗಿದೆ: ನಾವು ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್ ಅನ್ನು ಅವಲಂಬಿಸಿಲ್ಲ, ಅಥವಾ ಬಳಸಿದ ಫೈಲ್ ಸಿಸ್ಟಮ್ನ ಪ್ರಕಾರವನ್ನು ಸಹ ಅವಲಂಬಿಸಿಲ್ಲ.

ಅನಾನುಕೂಲಗಳು ಸಹ, ನಾನು ಭಾವಿಸುತ್ತೇನೆ, ಸ್ಪಷ್ಟವಾಗಿದೆ:

  • ಸಂಪೂರ್ಣ ಡಿಸ್ಕ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಪುನಃ ಬರೆಯುವ ಮೂಲಕ ಮಾತ್ರ ರಹಸ್ಯ ಡೇಟಾವನ್ನು ಬದಲಾಯಿಸಬಹುದು, ನಂತರ ಬಳಕೆದಾರರಿಗೆ ಗೋಚರಿಸುವ ವಿಷಯವನ್ನು ಮರುಸೃಷ್ಟಿಸಬಹುದು. ಆದಾಗ್ಯೂ, ಚಿತ್ರದಿಂದ ಡಿಸ್ಕ್ ಅನ್ನು ಮರುಸೃಷ್ಟಿಸುವ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ನೀವು ಬಳಸಲಾಗುವುದಿಲ್ಲ: ಇದು ಹಿಂದಿನ ರಹಸ್ಯ ಡೇಟಾವನ್ನು ಸಹ ಮರುಸೃಷ್ಟಿಸುತ್ತದೆ.
  • ರಹಸ್ಯ ಡೇಟಾದ ದೊಡ್ಡ ಪರಿಮಾಣ, ಕೆಲವು ಮಾಹಿತಿಯನ್ನು ಕಳೆದುಕೊಳ್ಳುವ ಸಾಧ್ಯತೆ ಹೆಚ್ಚು.
  • ಡಿಸ್ಕ್ನಿಂದ ಡೇಟಾವನ್ನು ಹಿಂಪಡೆಯಲು ಬಹಳ ಸಮಯ ತೆಗೆದುಕೊಳ್ಳಬಹುದು. ಹಲವಾರು ನಿಮಿಷಗಳಿಂದ ಹಲವಾರು ದಿನಗಳವರೆಗೆ (ಆಧುನಿಕ ಡಿಸ್ಕ್ಗಳು ​​ದೊಡ್ಡದಾಗಿರುತ್ತವೆ).

ಈಗ ವಿಶೇಷತೆಗಳಿಗೆ ಹೋಗೋಣ.

ನೀವು ಡಿಸ್ಕ್ನಾದ್ಯಂತ ರಹಸ್ಯ ಡೇಟಾವನ್ನು ಸರಳವಾಗಿ ಸ್ಮೀಯರ್ ಮಾಡಿದರೆ, ಅದು ಬರಿಗಣ್ಣಿನಿಂದ ಮಾತ್ರ ಮರೆಮಾಡಲ್ಪಡುತ್ತದೆ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ. ಡಿಸ್ಕ್ ಎಡಿಟರ್‌ನೊಂದಿಗೆ ನಿಮ್ಮ ನೋಟವನ್ನು ನೀವು ಸಜ್ಜುಗೊಳಿಸಿದರೆ, ಡೇಟಾವು ಅದರ ಎಲ್ಲಾ ವೈಭವದಲ್ಲಿ ಗೋಚರಿಸುತ್ತದೆ. ಆದ್ದರಿಂದ, ಡೇಟಾವನ್ನು ತೋರಿಸದಂತೆ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುವುದು ಒಳ್ಳೆಯದು. ನಾವು ಸರಳವಾಗಿ, ಆದರೆ ರುಚಿಕರವಾಗಿ ಎನ್‌ಕ್ರಿಪ್ಟ್ ಮಾಡುತ್ತೇವೆ: aes256-cbc ಅಲ್ಗಾರಿದಮ್ ಬಳಸಿ. ನಾವು ಗೂಢಲಿಪೀಕರಣ ಕೀಲಿಗಾಗಿ ಬಳಕೆದಾರರನ್ನು ಕೇಳುತ್ತೇವೆ ಮತ್ತು ಉತ್ತಮ ಪಾಸ್‌ವರ್ಡ್‌ನೊಂದಿಗೆ ಬರಲು ಅವಕಾಶ ನೀಡುತ್ತೇವೆ.

"ಉತ್ತಮ" ಡೇಟಾವನ್ನು ನಾವು ಕೆಟ್ಟ ಡೇಟಾದಿಂದ ಹೇಗೆ ಪ್ರತ್ಯೇಕಿಸಬಹುದು ಎಂಬುದು ಮುಂದಿನ ಪ್ರಶ್ನೆಯಾಗಿದೆ. ಇಲ್ಲಿ ಚೆಕ್ಸಮ್ ನಮಗೆ ಸಹಾಯ ಮಾಡುತ್ತದೆ, ಆದರೆ ಸರಳವಲ್ಲ, ಆದರೆ SHA1. ಮತ್ತು ಏನು? ಇದು ಜಿಟ್‌ಗೆ ಸಾಕಷ್ಟು ಒಳ್ಳೆಯದು, ಆದ್ದರಿಂದ ಇದು ನಮಗೂ ಸರಿಹೊಂದುತ್ತದೆ. ನಿರ್ಧರಿಸಲಾಗಿದೆ: ನಾವು ಪ್ರತಿ ಸಂಗ್ರಹಿಸಿದ ಮಾಹಿತಿಯನ್ನು ಚೆಕ್‌ಸಮ್‌ನೊಂದಿಗೆ ಒದಗಿಸುತ್ತೇವೆ ಮತ್ತು ಡೀಕ್ರಿಪ್ಶನ್ ನಂತರ ಅದು ಹೊಂದಾಣಿಕೆಯಾದರೆ, ಡೀಕ್ರಿಪ್ಶನ್ ಯಶಸ್ವಿಯಾಗಿದೆ ಎಂದರ್ಥ.

ನಿಮಗೆ ತುಣುಕು ಸಂಖ್ಯೆ ಮತ್ತು ರಹಸ್ಯ ಡೇಟಾದ ಒಟ್ಟು ಉದ್ದವೂ ಬೇಕಾಗುತ್ತದೆ. ನಾವು ಈಗಾಗಲೇ ಯಾವ ತುಣುಕುಗಳನ್ನು ಅರ್ಥೈಸಿದ್ದೇವೆ ಮತ್ತು ಯಾವ ತುಣುಕುಗಳನ್ನು ಬಿಡಲಾಗಿದೆ ಎಂಬುದನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡುವುದು ತುಣುಕು ಸಂಖ್ಯೆ. ಕೊನೆಯ ತುಣುಕನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುವಾಗ ಒಟ್ಟು ಉದ್ದವು ನಮಗೆ ಉಪಯುಕ್ತವಾಗಿರುತ್ತದೆ, ಆದ್ದರಿಂದ ಅನಗತ್ಯ ಡೇಟಾವನ್ನು ಬರೆಯದಂತೆ (ಅಂದರೆ, ಪ್ಯಾಡಿಂಗ್). ಸರಿ, ನಾವು ಇನ್ನೂ ಹೆಡರ್ ಹೊಂದಿರುವುದರಿಂದ, ನಾವು ಅಲ್ಲಿ ರಹಸ್ಯ ಫೈಲ್‌ನ ಹೆಸರನ್ನು ಸೇರಿಸುತ್ತೇವೆ. ಡೀಕ್ರಿಪ್ಶನ್ ನಂತರ ಇದು ಉಪಯುಕ್ತವಾಗಿರುತ್ತದೆ, ಆದ್ದರಿಂದ ಅದನ್ನು ಹೇಗೆ ತೆರೆಯಬೇಕು ಎಂದು ಊಹಿಸುವುದಿಲ್ಲ.

ಆಚರಣೆಯಲ್ಲಿ ವಿಧಾನವನ್ನು ಪರೀಕ್ಷಿಸುವುದು

ಪರಿಶೀಲಿಸಲು, ನಾವು ಸಾಮಾನ್ಯ ಮಾಧ್ಯಮವನ್ನು ತೆಗೆದುಕೊಳ್ಳೋಣ - ಫ್ಲ್ಯಾಷ್ ಡ್ರೈವ್. ನಾನು 1 GB ಸಾಮರ್ಥ್ಯದೊಂದಿಗೆ ಹಳೆಯದನ್ನು ಕಂಡುಕೊಂಡಿದ್ದೇನೆ, ಇದು ಪ್ರಯೋಗಗಳಿಗೆ ಸಾಕಷ್ಟು ಸೂಕ್ತವಾಗಿದೆ. ನೀವು, ನನ್ನಂತೆ, ಭೌತಿಕ ಮಾಧ್ಯಮದೊಂದಿಗೆ ತಲೆಕೆಡಿಸಿಕೊಳ್ಳದೆ, ಅದನ್ನು ಫೈಲ್‌ನಲ್ಲಿ ಪರೀಕ್ಷಿಸುವ ಆಲೋಚನೆಯೊಂದಿಗೆ ಬಂದಿದ್ದರೆ - ಡಿಸ್ಕ್ ಇಮೇಜ್, ನಂತರ ನಾನು ಈಗಿನಿಂದಲೇ ಹೇಳುತ್ತೇನೆ: ಅದು ಕೆಲಸ ಮಾಡುವುದಿಲ್ಲ. ಅಂತಹ "ಡಿಸ್ಕ್" ಅನ್ನು ಫಾರ್ಮಾಟ್ ಮಾಡುವಾಗ, ಲಿನಕ್ಸ್ ಮತ್ತೆ ಫೈಲ್ ಅನ್ನು ರಚಿಸುತ್ತದೆ, ಮತ್ತು ಎಲ್ಲಾ ಬಳಕೆಯಾಗದ ವಲಯಗಳನ್ನು ಸೊನ್ನೆಗಳಿಂದ ತುಂಬಿಸಲಾಗುತ್ತದೆ.

ಲಿನಕ್ಸ್‌ನೊಂದಿಗೆ ಯಂತ್ರವಾಗಿ, ದುರದೃಷ್ಟವಶಾತ್, ನಾನು ಬಾಲ್ಕನಿಯಲ್ಲಿ ಮಲಗಿರುವ ರಾಸ್ಪ್ಬೆರಿ ಪೈ 3 ನಲ್ಲಿ ಹವಾಮಾನ ಕೇಂದ್ರವನ್ನು ಬಳಸಬೇಕಾಗಿತ್ತು. ಅಲ್ಲಿ ಸಾಕಷ್ಟು ಮೆಮೊರಿ ಇಲ್ಲ, ಆದ್ದರಿಂದ ನಾವು ದೊಡ್ಡ ಫೈಲ್‌ಗಳನ್ನು ಮರೆಮಾಡುವುದಿಲ್ಲ. ನಾವು 10 ಮೆಗಾಬೈಟ್‌ಗಳ ಗರಿಷ್ಠ ಗಾತ್ರಕ್ಕೆ ನಮ್ಮನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತೇವೆ. ತುಂಬಾ ಚಿಕ್ಕದಾದ ಫೈಲ್‌ಗಳನ್ನು ಮರೆಮಾಡುವುದರಲ್ಲಿ ಯಾವುದೇ ಅರ್ಥವಿಲ್ಲ: ಉಪಯುಕ್ತತೆಯು 4 KB ಕ್ಲಸ್ಟರ್‌ಗಳಲ್ಲಿ ಡಿಸ್ಕ್‌ಗೆ ಡೇಟಾವನ್ನು ಬರೆಯುತ್ತದೆ. ಆದ್ದರಿಂದ, ಕೆಳಗೆ ನಾವು 3 kb ಫೈಲ್‌ಗೆ ನಮ್ಮನ್ನು ಮಿತಿಗೊಳಿಸುತ್ತೇವೆ - ಇದು ಅಂತಹ ಒಂದು ಕ್ಲಸ್ಟರ್‌ಗೆ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ.

ನಾವು ಫ್ಲ್ಯಾಷ್ ಡ್ರೈವ್ ಅನ್ನು ಹಂತಗಳಲ್ಲಿ ಅಪಹಾಸ್ಯ ಮಾಡುತ್ತೇವೆ, ಪ್ರತಿ ಹಂತದ ನಂತರ ಗುಪ್ತ ಮಾಹಿತಿಯನ್ನು ಓದಬಹುದೇ ಎಂದು ಪರಿಶೀಲಿಸುತ್ತೇವೆ:

  1. 16 KB ಕ್ಲಸ್ಟರ್ ಗಾತ್ರದೊಂದಿಗೆ FAT16 ಫಾರ್ಮ್ಯಾಟ್‌ನಲ್ಲಿ ಫಾಸ್ಟ್ ಫಾರ್ಮ್ಯಾಟಿಂಗ್. ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಹೊಂದಿರದ ಫ್ಲ್ಯಾಷ್ ಡ್ರೈವ್‌ನೊಂದಿಗೆ ವಿಂಡೋಸ್ 7 ಮಾಡಲು ಇದು ನೀಡುತ್ತದೆ.
  2. 50% ರಷ್ಟು ಎಲ್ಲಾ ರೀತಿಯ ಕಸದೊಂದಿಗೆ ಫ್ಲಾಶ್ ಡ್ರೈವ್ ಅನ್ನು ತುಂಬುವುದು.
  3. 100% ರಷ್ಟು ಎಲ್ಲಾ ರೀತಿಯ ಕಸದೊಂದಿಗೆ ಫ್ಲಾಶ್ ಡ್ರೈವ್ ಅನ್ನು ತುಂಬುವುದು.
  4. FAT16 ಸ್ವರೂಪದಲ್ಲಿ "ಲಾಂಗ್" ಫಾರ್ಮ್ಯಾಟಿಂಗ್ (ಎಲ್ಲವನ್ನೂ ತಿದ್ದಿ ಬರೆಯುವುದು).

ಮೊದಲ ಎರಡು ಪರೀಕ್ಷೆಗಳು, ನಿರೀಕ್ಷೆಯಂತೆ, ಸಂಪೂರ್ಣ ವಿಜಯದಲ್ಲಿ ಕೊನೆಗೊಂಡಿತು: ಉಪಯುಕ್ತತೆಯು ಫ್ಲಾಶ್ ಡ್ರೈವಿನಿಂದ 10 ಮೆಗಾಬೈಟ್ ರಹಸ್ಯ ಡೇಟಾವನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಹೊರತೆಗೆಯಲು ಸಾಧ್ಯವಾಯಿತು. ಆದರೆ ಫ್ಲ್ಯಾಶ್ ಡ್ರೈವ್ ಫೈಲ್‌ಗಳೊಂದಿಗೆ ಸಾಮರ್ಥ್ಯಕ್ಕೆ ತುಂಬಿದ ನಂತರ, ವೈಫಲ್ಯ ಸಂಭವಿಸಿದೆ:

Total clusters read: 250752, decrypted: 158
ERROR: cannot write incomplete secretFile

ನೀವು ನೋಡುವಂತೆ, ಕೇವಲ 158 ಕ್ಲಸ್ಟರ್‌ಗಳನ್ನು ಯಶಸ್ವಿಯಾಗಿ ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಲಾಗಿದೆ (632 ಕಿಲೋಬೈಟ್ ಕಚ್ಚಾ ಡೇಟಾ, ಇದು 636424 ಬೈಟ್‌ಗಳ ಪೇಲೋಡ್ ಅನ್ನು ನೀಡುತ್ತದೆ). ಇಲ್ಲಿ 10 ಮೆಗಾಬೈಟ್‌ಗಳನ್ನು ಪಡೆಯಲು ಯಾವುದೇ ಮಾರ್ಗವಿಲ್ಲ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ, ಮತ್ತು ಇನ್ನೂ ಈ ಕ್ಲಸ್ಟರ್‌ಗಳಲ್ಲಿ ಸ್ಪಷ್ಟವಾಗಿ ನಕಲುಗಳಿವೆ. ನೀವು ಈ ರೀತಿಯಲ್ಲಿ 1 ಮೆಗಾಬೈಟ್ ಅನ್ನು ಸಹ ಮರುಪಡೆಯಲು ಸಾಧ್ಯವಿಲ್ಲ. ಆದರೆ ಫ್ಲ್ಯಾಷ್ ಡ್ರೈವ್‌ನಿಂದ 3 ಕಿಲೋಬೈಟ್‌ಗಳ ರಹಸ್ಯ ಡೇಟಾವನ್ನು ನಾವು ಅದನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿದ ನಂತರ ಮತ್ತು ಸಾಮರ್ಥ್ಯಕ್ಕೆ ಬರೆದ ನಂತರವೂ ಮರುಪಡೆಯುತ್ತೇವೆ ಎಂದು ನಾವು ಖಾತರಿ ನೀಡಬಹುದು. ಆದಾಗ್ಯೂ, ಅಂತಹ ಫ್ಲಾಶ್ ಡ್ರೈವಿನಿಂದ 120 ಕಿಲೋಬೈಟ್ಗಳಷ್ಟು ಉದ್ದದ ಫೈಲ್ ಅನ್ನು ಹೊರತೆಗೆಯಲು ಸಾಕಷ್ಟು ಸಾಧ್ಯವಿದೆ ಎಂದು ಪ್ರಯೋಗಗಳು ತೋರಿಸುತ್ತವೆ.

ಕೊನೆಯ ಪರೀಕ್ಷೆ, ದುರದೃಷ್ಟವಶಾತ್, ಸಂಪೂರ್ಣ ಫ್ಲಾಶ್ ಡ್ರೈವ್ ಅನ್ನು ತಿದ್ದಿ ಬರೆಯಲಾಗಿದೆ ಎಂದು ತೋರಿಸಿದೆ:

$ sudo ./steganodisk -p password /dev/sda
Device size: 250752 clusters
250700 99%
Total clusters read: 250752, decrypted: 0
ERROR: cannot write incomplete secretFile

ಒಂದೇ ಒಂದು ಕ್ಲಸ್ಟರ್ ಉಳಿದಿಲ್ಲ ... ದುಃಖ, ಆದರೆ ದುರಂತವಲ್ಲ! ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುವ ಮೊದಲು, ಫ್ಲಾಶ್ ಡ್ರೈವಿನಲ್ಲಿ ವಿಭಾಗವನ್ನು ರಚಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ, ಮತ್ತು ಈಗಾಗಲೇ ಅದರಲ್ಲಿ ಫೈಲ್ ಸಿಸ್ಟಮ್. ಅಂದಹಾಗೆ, ಇದು ನಿಖರವಾಗಿ ಈ ಫಾರ್ಮ್ಯಾಟಿಂಗ್‌ನೊಂದಿಗೆ ಕಾರ್ಖಾನೆಯಿಂದ ಬಂದಿದೆ, ಆದ್ದರಿಂದ ನಾವು ಅನುಮಾನಾಸ್ಪದವಾಗಿ ಏನನ್ನೂ ಮಾಡುತ್ತಿಲ್ಲ.
ಫ್ಲ್ಯಾಶ್ ಡ್ರೈವಿನಲ್ಲಿ ಲಭ್ಯವಿರುವ ಸ್ಥಳವು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಕಡಿಮೆಯಾಗಿದೆ ಎಂದು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ.

ಸಂಪೂರ್ಣವಾಗಿ ಪೂರ್ಣ ಡಿಸ್ಕ್ನಲ್ಲಿ 10 ಮೆಗಾಬೈಟ್ಗಳನ್ನು ಮರೆಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ಸಹ ಸಾಕಷ್ಟು ನಿರೀಕ್ಷಿಸಲಾಗಿದೆ. ಆದರೆ ಈಗ ಯಶಸ್ವಿಯಾಗಿ ಡೀಕ್ರಿಪ್ಟ್ ಮಾಡಿದ ಕ್ಲಸ್ಟರ್‌ಗಳ ಸಂಖ್ಯೆ ದ್ವಿಗುಣಗೊಂಡಿದೆ!

Total clusters read: 250752, decrypted: 405

ದುರದೃಷ್ಟವಶಾತ್, ತುಂಡುಗಳಿಂದ ಮೆಗಾಬೈಟ್ ಅನ್ನು ಜೋಡಿಸುವುದು ಅಸಾಧ್ಯ, ಆದರೆ ಇನ್ನೂರು ಕಿಲೋಬೈಟ್ಗಳು ಸುಲಭ.

ಸರಿ, ಕೊನೆಯ, 4 ನೇ ಚೆಕ್ ಬಗ್ಗೆ ಸುದ್ದಿ, ಈ ಬಾರಿ ಸಂತೋಷದಾಯಕವಾಗಿದೆ: ಅಂತಹ ಫ್ಲಾಶ್ ಡ್ರೈವ್ ಅನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡುವುದು ಎಲ್ಲಾ ಮಾಹಿತಿಯ ನಾಶಕ್ಕೆ ಕಾರಣವಾಗಲಿಲ್ಲ! 120 ಕಿಲೋಬೈಟ್‌ಗಳ ರಹಸ್ಯ ಡೇಟಾ ಬಳಕೆಯಾಗದ ಜಾಗಕ್ಕೆ ಸಂಪೂರ್ಣವಾಗಿ ಹೊಂದಿಕೊಳ್ಳುತ್ತದೆ.

ಪರೀಕ್ಷಾ ಸಾರಾಂಶ ಕೋಷ್ಟಕ:

ಫೈಲ್‌ಗಳ ಮೂಲಕ ಸ್ಟೆಗಾನೋಗ್ರಫಿ: ಡೇಟಾವನ್ನು ನೇರವಾಗಿ ವಲಯಗಳಲ್ಲಿ ಮರೆಮಾಡುವುದು

ಸ್ವಲ್ಪ ಸಿದ್ಧಾಂತ: ಮುಕ್ತ ಸ್ಥಳ ಮತ್ತು ಬಳಕೆಯಾಗದ ವಲಯಗಳ ಬಗ್ಗೆ

ನಿಮ್ಮ ಹಾರ್ಡ್ ಡ್ರೈವ್ ಅನ್ನು ನೀವು ಎಂದಾದರೂ ವಿಭಾಗಗಳಾಗಿ ವಿಂಗಡಿಸಿದ್ದರೆ, ಡಿಸ್ಕ್ನಲ್ಲಿ ಎಲ್ಲಾ ಮುಕ್ತ ಜಾಗವನ್ನು ನಿಯೋಜಿಸಲು ಯಾವಾಗಲೂ ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ನೀವು ಗಮನಿಸಿರಬಹುದು. ಮೊದಲ ವಿಭಾಗವು ಯಾವಾಗಲೂ ಕೆಲವು ಇಂಡೆಂಟೇಶನ್‌ನೊಂದಿಗೆ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ (ಸಾಮಾನ್ಯವಾಗಿ 1 ಮೆಗಾಬೈಟ್, ಅಥವಾ 2048 ವಲಯಗಳು). ಕೊನೆಯ ವಿಭಾಗದ ಹಿಂದೆ, ಬಳಕೆಯಾಗದ ವಲಯಗಳ ಸಣ್ಣ "ಬಾಲ" ಉಳಿದಿದೆ ಎಂದು ಸಹ ಸಂಭವಿಸುತ್ತದೆ. ಮತ್ತು ಕೆಲವೊಮ್ಮೆ ವಿಭಾಗಗಳ ನಡುವೆ ಅಂತರಗಳಿವೆ, ಆದರೂ ವಿರಳವಾಗಿ.

ಬೇರೆ ರೀತಿಯಲ್ಲಿ ಹೇಳುವುದಾದರೆ, ಡಿಸ್ಕ್ನೊಂದಿಗೆ ಸಾಮಾನ್ಯ ಕೆಲಸದ ಸಮಯದಲ್ಲಿ ಪ್ರವೇಶಿಸಲಾಗದ ಡಿಸ್ಕ್ನಲ್ಲಿ ಸೆಕ್ಟರ್ಗಳಿವೆ, ಆದರೆ ಈ ವಲಯಗಳಿಗೆ ಡೇಟಾವನ್ನು ಬರೆಯಬಹುದು! ಮತ್ತು ಇದರರ್ಥ ಅದನ್ನು ಸಹ ಓದುವುದು. ಡಿಸ್ಕ್ನ ಆರಂಭದಲ್ಲಿ ಖಾಲಿ ಪ್ರದೇಶದಲ್ಲಿ ನೆಲೆಗೊಂಡಿರುವ ವಿಭಜನಾ ಟೇಬಲ್ ಮತ್ತು ಬೂಟ್ಲೋಡರ್ ಕೋಡ್ ಸಹ ಇದೆ ಎಂಬ ಅಂಶಕ್ಕೆ ಹೊಂದಿಸಲಾಗಿದೆ.

ನಾವು ಸ್ವಲ್ಪ ಸಮಯದವರೆಗೆ ವಿಭಾಗಗಳಿಂದ ವಿರಾಮವನ್ನು ತೆಗೆದುಕೊಳ್ಳೋಣ ಮತ್ತು ಹಕ್ಕಿಯ ನೋಟದಿಂದ ಡಿಸ್ಕ್ ಅನ್ನು ನೋಡೋಣ. ಇಲ್ಲಿ ನಾವು ಡಿಸ್ಕ್ನಲ್ಲಿ ಖಾಲಿ ವಿಭಾಗವನ್ನು ಹೊಂದಿದ್ದೇವೆ. ಅದರಲ್ಲಿ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ರಚಿಸೋಣ. ಡಿಸ್ಕ್‌ನಲ್ಲಿನ ಕೆಲವು ವಲಯಗಳು ಅಳಿಸದೆ ಉಳಿದಿವೆ ಎಂದು ನಾವು ಹೇಳಬಹುದೇ?

ಇ-ಇ-ಇ - ಡ್ರಮ್ ರೋಲ್! ಉತ್ತರವು ಯಾವಾಗಲೂ ಹೌದು! ವಾಸ್ತವವಾಗಿ, ಹೆಚ್ಚಿನ ಸಂದರ್ಭಗಳಲ್ಲಿ, ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ರಚಿಸುವುದು ಡಿಸ್ಕ್ಗೆ ಕೆಲವು ಸೇವಾ ಮಾಹಿತಿಯನ್ನು ಮಾತ್ರ ಬರೆಯಲು ಬರುತ್ತದೆ, ಮತ್ತು ಇಲ್ಲದಿದ್ದರೆ ವಿಭಾಗದ ವಿಷಯಗಳು ಬದಲಾಗುವುದಿಲ್ಲ.

ಮತ್ತು - ಸಂಪೂರ್ಣವಾಗಿ ಪ್ರಾಯೋಗಿಕವಾಗಿ - ಫೈಲ್ ಸಿಸ್ಟಮ್ ಯಾವಾಗಲೂ ಕೊನೆಯ ವಲಯದವರೆಗೆ ನಿಗದಿಪಡಿಸಿದ ಎಲ್ಲಾ ಜಾಗವನ್ನು ಆಕ್ರಮಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ ಎಂದು ನಾವು ಊಹಿಸಬಹುದು. ಉದಾಹರಣೆಗೆ, 16 ಕಿಲೋಬೈಟ್‌ಗಳ ಕ್ಲಸ್ಟರ್ ಗಾತ್ರವನ್ನು ಹೊಂದಿರುವ FAT64 ಫೈಲ್ ಸಿಸ್ಟಮ್ ನಿಸ್ಸಂಶಯವಾಗಿ 64 ಕಿಲೋಬೈಟ್‌ಗಳ ಬಹುಸಂಖ್ಯೆಯ ಗಾತ್ರದೊಂದಿಗೆ ವಿಭಾಗವನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಆಕ್ರಮಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ. ಅಂತಹ ವಿಭಾಗದ ಕೊನೆಯಲ್ಲಿ ಹಲವಾರು ವಲಯಗಳ "ಬಾಲ" ಇರಬೇಕು, ಬಳಕೆದಾರರ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಪ್ರವೇಶಿಸಲಾಗುವುದಿಲ್ಲ. ಆದಾಗ್ಯೂ, ಈ ಊಹೆಯನ್ನು ಪ್ರಾಯೋಗಿಕವಾಗಿ ದೃಢೀಕರಿಸಲಾಗಲಿಲ್ಲ.

ಆದ್ದರಿಂದ, ಸ್ಟೆಗಾನೋಗ್ರಾಮ್‌ಗಾಗಿ ಲಭ್ಯವಿರುವ ಜಾಗವನ್ನು ಗರಿಷ್ಠಗೊಳಿಸಲು, ನೀವು ದೊಡ್ಡ ಕ್ಲಸ್ಟರ್ ಗಾತ್ರದೊಂದಿಗೆ ಫೈಲ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ಇದು ಅಗತ್ಯವಿಲ್ಲದಿದ್ದರೂ ಸಹ ನೀವು ವಿಭಾಗವನ್ನು ರಚಿಸಬಹುದು (ಉದಾಹರಣೆಗೆ, ಫ್ಲ್ಯಾಶ್ ಡ್ರೈವಿನಲ್ಲಿ). ಖಾಲಿ ವಿಭಾಗಗಳನ್ನು ರಚಿಸಲು ಅಥವಾ ಹಂಚಿಕೆ ಮಾಡದ ಪ್ರದೇಶಗಳನ್ನು ಬಿಡಲು ಅಗತ್ಯವಿಲ್ಲ - ಇದು ಆಸಕ್ತ ನಾಗರಿಕರ ಗಮನವನ್ನು ಸೆಳೆಯುತ್ತದೆ.

ಪ್ರಯೋಗಗಳಿಗೆ ಉಪಯುಕ್ತತೆ

ನೀವು ಉಪಯುಕ್ತತೆಯ ಮೂಲ ಕೋಡ್ ಅನ್ನು ಸ್ಪರ್ಶಿಸಬಹುದು ಇಲ್ಲಿ

ನಿರ್ಮಿಸಲು, ನಿಮಗೆ Qt ಆವೃತ್ತಿ 5.0 ಅಥವಾ ಹೆಚ್ಚಿನದು ಮತ್ತು OpenSSL ಅಗತ್ಯವಿದೆ. ಏನಾದರೂ ಕೆಲಸ ಮಾಡದಿದ್ದರೆ, ನೀವು steganodisk.pro ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸಬೇಕಾಗಬಹುದು.

ನೀವು ಕ್ಲಸ್ಟರ್ ಗಾತ್ರವನ್ನು 4 KB ಯಿಂದ 512 ಬೈಟ್‌ಗಳಿಗೆ (secretfile.h ನಲ್ಲಿ) ಬದಲಾಯಿಸಬಹುದು. ಅದೇ ಸಮಯದಲ್ಲಿ, ಸೇವೆಯ ಮಾಹಿತಿಯ ವೆಚ್ಚವು ಹೆಚ್ಚಾಗುತ್ತದೆ: ಹೆಡರ್ ಮತ್ತು ಚೆಕ್ಸಮ್ ಸ್ಥಿರವಾದ 68 ಬೈಟ್ಗಳನ್ನು ಆಕ್ರಮಿಸುತ್ತದೆ.

ರೂಟ್ ಬಳಕೆದಾರರ ಹಕ್ಕುಗಳೊಂದಿಗೆ ಮತ್ತು ಎಚ್ಚರಿಕೆಯಿಂದ ನೀವು ಉಪಯುಕ್ತತೆಯನ್ನು ಚಲಾಯಿಸಬೇಕು. ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಫೈಲ್ ಅಥವಾ ಸಾಧನವನ್ನು ಓವರ್‌ರೈಟ್ ಮಾಡುವ ಮೊದಲು ಯಾವುದೇ ಪ್ರಶ್ನೆಗಳನ್ನು ಕೇಳಲಾಗುವುದಿಲ್ಲ!

ಆನಂದಿಸಿ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ