درخت های درهم سازی ( Hash Tree ) شاخه ای از لیست های درهم سازی هستند. به این درخت ها درخت های مرکل ( Merkle Tree ) نیز می گویند.
در رمزنگاری و علوم کامپیوتری، درخت درهم سازی نوعی از داده ساختار ها هستند که شامل یک درخت که خلاصهٔ اطلاعات یک دادهٔ بزرگتر را در خود جای داده است و برای تشخیص محتویات آن داده به کار می رود.
... [مشاهده متن کامل]
محتویات [نمایش]
کاربردها [ویرایش]
درخت های درهم سازی می توانند برای محافظت از هر نوع داده ای که ذخیره شده است و یا مورد استفاده قرار می گیرد و یا دربین رایانه ها منتقل می شود؛ استفاده شود. در حال حاضر بیشترین و مهم ترین کاربرد درخت هایدرهم سازی در شبکه های نظیر به نظیر[۱] است. در این شبکه ها برای حصول اطمینان از اینکه اولا بسته های دریافت شده، بدون عیب و بدون تغییر هستند و ثانیا اینکه بسته ها جعلی نیستند؛ از این درخت ها استفاده می شود. البته پیشنهاداتی برای استفاده از این درخت ها در سیستم های محاسباتی معتبر[۲] شده است. شرکت سان میکرو سیستمز[۳] از درخت های مرکل در پرونده های سیتم های [۴] ZFS استفاده کرده است.
درخت درهم سازی در سال 1979 و توسط رالف مرکل[۵]، اختراع شد. کاربرد اصلی این درخت ها در شیوه ای به نام امضای لمپورت [۶] است که در رمزنگاری کاربرد دارد. ترکیب این روش با درخت درهم سازی باعث شد تا این روش رمزنگاری برای پیام های زیادی مورد استفاده قرار بگیرد و به روشی نسبتا کارآمد برای امضاهای دیجیتالی تبدیل شود.
چگونگی عملکرد درخت درهم سازی [ویرایش]
نمونه ای از یک درخت درهم سازی
یک درخت درهم سازی درختی است که برگ های آن درهم سازی شدهٔ بلوک های داده ( مثلا یک فایل و یا مجموعه ای از فایل ها ) است. هر گره پدر، در هم سازی شدهٔ گره های فرزند خودش است. این روش بر خلاف دیگر روش های معمول درخت ها، از پاییت به بالا کار می کند؛ یعنی ورودی آن برگ ها هسنتد و نه ریشه. به عنوان مثل، در شکل روبرو، 0 حاصل در هم سازی 0 - 0 و 1 - 0 است. که با الحاق 0 - 0 و 1 - 0 به دست می آید. اکثر پیاده سازی های انجام شده برای درخت های درهم سازی، دودویی هستند. اما می توان، با توجه به روش مورد استفاده و همچنین نیاز، فرزندان بیشتری را نیز متصور بود. معمولا یک تابع درهم سازی رمزی[۷] مثل: SHA - 1، Whirpool، Tiger و. . . برای درهم سازی مورد استفاده قرار می گیرد. اگر قرار باشد که درخت های درهم سازی فقط در برابر صدمات غیر عمدی محافظت شوند؛ می توان از روش هایی که امنیت کمتری دارند ولی در عوض ساده تر هستند مثل CRC استفاده کرد. در بالای درخت درهم سازی؛ Top Hash [۸] قرار دارد. پیش از دانلود کردن یک فایل از شبکه های نظیر به نظیر، در اکثر موارد، Top Hash از یک منبع مورد اطمینان مثل رایانهٔ یک دوست و یا حتی سایت هایی که در این زمینه شهرت دارند، دزیافت می شود. اگر توانستیم بدین وسیله Top Hash را به دست آوریم، ما بقی درخت درهم سازی را می توان از هر منبع دیگری دریافت کرد. در نهایت، درخت درهم سازیِ دریافت شده را می توان به وسیلهٔ Top Hash مطمئنی که قبلا دریافت کرده ایم، بررسی کرد. اگر قسمتی از درخت درهم سازی، صدمه دیده و یا جعلی باشد، آن قسمت لز درخت از منبع دیگری امتجان می شود تا در نهایت، برنامه Top Hash درست و مطابق با Top Hash اولیه را بیابد. تفاوت عمده ای که بین درخت های درهم سازی و لیست های درهم سازی وجود دارد این است که در درخت های درهم سازی، یک شاخه از درخت را می توان یکجا دانلود کرد و یکپارچگی آنرا بلافاصله بررسی کرد؛ حتی اگر تمام درخت به طور کامل در دسترس نباشد. این یک ویژگی خوب برای درخت های درهم سازی است چرا که تکه کردن فابل ها به بلوک های کوچکتر، به صرفه است؛ زیرا اگر آنها صدمه ببینند، فقط قطعه ای از داده ها باید دوباره دانلود شود و تیازی به دانلود تمام فایل نیست.
پیوندهای درونی [ویرایش]
تابع درهم سازی کریپتوگرافیک
درخت دودویی
داده ساختار درخت
پیوندهای بیرونی [ویرایش]
http://open - content. net/specs/draft - jchapweske - thex - 02. html - Hash Tree
http://sourceforge. net/projects/tigertree/ – Tiger Tree Hash ( TTH ) implementations in C and Java
Merkle tree patent 4, 309, 569 – Explains both the hash tree structure and the use of it to handle many one - time signatures.
Efficient Use of Merkle Trees – RSA labs explanation of the original purpose of Merkle trees: To handle many Lamport one - time signatures.
منابع [ویرایش]
tree|منبع انگلیسی
↑ Peer to Peer, Peer2Peer, P2P
↑ Trusted Computing Systems
↑ Sun Microsystems
↑ File System
↑ Ralph Merkle
↑ Lamport Signature
↑ Cryptographic Hash Function
↑ همچنین Root Hash و Master Hash
رده های صفحه: درهم سازهای رمزنگارانه ساختار درختی
قس انگلیسی
In cryptography and computer science hash trees or Merkle trees are a type of data structure that contains a tree of summary information about a larger piece of data – for instance a file – used to verify its contents. The concept is named after Ralph Merkle. Hash trees are a combination of hash lists and hash chaining, which in turn are extensions of hashing. Hash trees in which the underlying hash function is Tiger are often called Tiger trees or Tiger tree hashes.
Contents [show]
[edit]Uses
Hash trees can be used to verify any kind of data stored, handled and transferred in and between computers. Currently the main use of hash trees is to make sure that data blocks received from other peers in a peer - to - peer network are received undamaged and unaltered, and even to check that the other peers do not lie and send fake bl . . .
در رمزنگاری و علوم کامپیوتری، درخت درهم سازی نوعی از داده ساختار ها هستند که شامل یک درخت که خلاصهٔ اطلاعات یک دادهٔ بزرگتر را در خود جای داده است و برای تشخیص محتویات آن داده به کار می رود.
... [مشاهده متن کامل]
محتویات [نمایش]
کاربردها [ویرایش]
درخت های درهم سازی می توانند برای محافظت از هر نوع داده ای که ذخیره شده است و یا مورد استفاده قرار می گیرد و یا دربین رایانه ها منتقل می شود؛ استفاده شود. در حال حاضر بیشترین و مهم ترین کاربرد درخت هایدرهم سازی در شبکه های نظیر به نظیر[۱] است. در این شبکه ها برای حصول اطمینان از اینکه اولا بسته های دریافت شده، بدون عیب و بدون تغییر هستند و ثانیا اینکه بسته ها جعلی نیستند؛ از این درخت ها استفاده می شود. البته پیشنهاداتی برای استفاده از این درخت ها در سیستم های محاسباتی معتبر[۲] شده است. شرکت سان میکرو سیستمز[۳] از درخت های مرکل در پرونده های سیتم های [۴] ZFS استفاده کرده است.
درخت درهم سازی در سال 1979 و توسط رالف مرکل[۵]، اختراع شد. کاربرد اصلی این درخت ها در شیوه ای به نام امضای لمپورت [۶] است که در رمزنگاری کاربرد دارد. ترکیب این روش با درخت درهم سازی باعث شد تا این روش رمزنگاری برای پیام های زیادی مورد استفاده قرار بگیرد و به روشی نسبتا کارآمد برای امضاهای دیجیتالی تبدیل شود.
چگونگی عملکرد درخت درهم سازی [ویرایش]
نمونه ای از یک درخت درهم سازی
یک درخت درهم سازی درختی است که برگ های آن درهم سازی شدهٔ بلوک های داده ( مثلا یک فایل و یا مجموعه ای از فایل ها ) است. هر گره پدر، در هم سازی شدهٔ گره های فرزند خودش است. این روش بر خلاف دیگر روش های معمول درخت ها، از پاییت به بالا کار می کند؛ یعنی ورودی آن برگ ها هسنتد و نه ریشه. به عنوان مثل، در شکل روبرو، 0 حاصل در هم سازی 0 - 0 و 1 - 0 است. که با الحاق 0 - 0 و 1 - 0 به دست می آید. اکثر پیاده سازی های انجام شده برای درخت های درهم سازی، دودویی هستند. اما می توان، با توجه به روش مورد استفاده و همچنین نیاز، فرزندان بیشتری را نیز متصور بود. معمولا یک تابع درهم سازی رمزی[۷] مثل: SHA - 1، Whirpool، Tiger و. . . برای درهم سازی مورد استفاده قرار می گیرد. اگر قرار باشد که درخت های درهم سازی فقط در برابر صدمات غیر عمدی محافظت شوند؛ می توان از روش هایی که امنیت کمتری دارند ولی در عوض ساده تر هستند مثل CRC استفاده کرد. در بالای درخت درهم سازی؛ Top Hash [۸] قرار دارد. پیش از دانلود کردن یک فایل از شبکه های نظیر به نظیر، در اکثر موارد، Top Hash از یک منبع مورد اطمینان مثل رایانهٔ یک دوست و یا حتی سایت هایی که در این زمینه شهرت دارند، دزیافت می شود. اگر توانستیم بدین وسیله Top Hash را به دست آوریم، ما بقی درخت درهم سازی را می توان از هر منبع دیگری دریافت کرد. در نهایت، درخت درهم سازیِ دریافت شده را می توان به وسیلهٔ Top Hash مطمئنی که قبلا دریافت کرده ایم، بررسی کرد. اگر قسمتی از درخت درهم سازی، صدمه دیده و یا جعلی باشد، آن قسمت لز درخت از منبع دیگری امتجان می شود تا در نهایت، برنامه Top Hash درست و مطابق با Top Hash اولیه را بیابد. تفاوت عمده ای که بین درخت های درهم سازی و لیست های درهم سازی وجود دارد این است که در درخت های درهم سازی، یک شاخه از درخت را می توان یکجا دانلود کرد و یکپارچگی آنرا بلافاصله بررسی کرد؛ حتی اگر تمام درخت به طور کامل در دسترس نباشد. این یک ویژگی خوب برای درخت های درهم سازی است چرا که تکه کردن فابل ها به بلوک های کوچکتر، به صرفه است؛ زیرا اگر آنها صدمه ببینند، فقط قطعه ای از داده ها باید دوباره دانلود شود و تیازی به دانلود تمام فایل نیست.
پیوندهای درونی [ویرایش]
تابع درهم سازی کریپتوگرافیک
درخت دودویی
داده ساختار درخت
پیوندهای بیرونی [ویرایش]
منابع [ویرایش]
tree|منبع انگلیسی
↑ همچنین Root Hash و Master Hash
رده های صفحه: درهم سازهای رمزنگارانه ساختار درختی
قس انگلیسی