Signed-off-by: Awiteb <a@4rs.nl>
This commit is contained in:
parent
390e7e7e6a
commit
4dd4c8490b
1 changed files with 5 additions and 5 deletions
|
@ -39,7 +39,7 @@ add_toc = true
|
||||||
مضغوط وهو يتكون من 33 بايت (264 بت) يتم ترميزه بترميز [base58] على سبيل المثال
|
مضغوط وهو يتكون من 33 بايت (264 بت) يتم ترميزه بترميز [base58] على سبيل المثال
|
||||||
العنوان التالي `becZJsZZqGR7qBG8t1Pm4uy62jDTzJsabxnkARhr2syo`.
|
العنوان التالي `becZJsZZqGR7qBG8t1Pm4uy62jDTzJsabxnkARhr2syo`.
|
||||||
|
|
||||||
يتم وضع العنوان العام في رأس (Header) الطلب (Request) بأسم `X-OTMP-PUBLIC` ويجب
|
يتم وضع العنوان العام في رأس (Header) الطلب (Request) بأسم `X-OTMP-PUBLIC` او في بيانات ال [Websocket] في المفتاح `public_key` ويجب
|
||||||
ان يكون نص [base58] صحيح مكون من 33 بايت (264 بت).
|
ان يكون نص [base58] صحيح مكون من 33 بايت (264 بت).
|
||||||
|
|
||||||
> يجب على الخوادم عدم تخزين اسماء خوادم المرسلين الخارجيين، ويتم تحديده في الطلب المرسل من قبلهم فقط، حيث يعتبر المفتاح العام هو المعرف المشترك بين جميع الخوادم.
|
> يجب على الخوادم عدم تخزين اسماء خوادم المرسلين الخارجيين، ويتم تحديده في الطلب المرسل من قبلهم فقط، حيث يعتبر المفتاح العام هو المعرف المشترك بين جميع الخوادم.
|
||||||
|
@ -72,7 +72,7 @@ add_toc = true
|
||||||
32 بايت (256 بت).
|
32 بايت (256 بت).
|
||||||
|
|
||||||
### التشفير
|
### التشفير
|
||||||
وسوف يتم استخدام مفتاح التشفير المشترك مفتاحاً للتشفير في خوارزمية
|
سوف يتم استخدام [مفتاح التشفير المشترك] مفتاحاً للتشفير في خوارزمية
|
||||||
[AES-256 CBC]، بعد تشفير الرسالة يتم وضع قيمة التهيئة (iv) في أخر الرسالة، ليكون
|
[AES-256 CBC]، بعد تشفير الرسالة يتم وضع قيمة التهيئة (iv) في أخر الرسالة، ليكون
|
||||||
اخر 16 بايت (128 بت) هي قيمة التهيئة (iv) التي سوف يستخدمها المستقبِل لفك تشفير
|
اخر 16 بايت (128 بت) هي قيمة التهيئة (iv) التي سوف يستخدمها المستقبِل لفك تشفير
|
||||||
الرسالة.
|
الرسالة.
|
||||||
|
@ -108,12 +108,12 @@ add_toc = true
|
||||||
```
|
```
|
||||||
مفتاح التشفير المشترك+الوقت الحالي+16 بايت عشوائي
|
مفتاح التشفير المشترك+الوقت الحالي+16 بايت عشوائي
|
||||||
```
|
```
|
||||||
بعد ذلك يتم أخذ نتيجة دالة [HMAC-SHA256] و إضافة الوقت المستخدم في الأعلى و الـ16 بايت المستخدمة في الأعلى و جميعهم بترميز hex، مثال
|
بعد ذلك يتم أخذ نتيجة دالة [HMAC-SHA256] و إضافة الوقت المستخدم في الأعلى و الـ16 بايت المستخدمة في الأعلى و جميعهم بترميز [Hex]، مثال
|
||||||
|
|
||||||
```
|
```
|
||||||
bad035084e11bfd266c7b7dfa473d6603be551b3aa215f869776b75bf42ef31900000000665e1a696e6d776f65726e6664757265686a66
|
bad035084e11bfd266c7b7dfa473d6603be551b3aa215f869776b75bf42ef31900000000665e1a696e6d776f65726e6664757265686a66
|
||||||
```
|
```
|
||||||
بعد تحويله إلى بايتات سوف يكون المجموع 56 بايت، وسوف يكون التقسيم هكذا
|
بعد تحويله إلى بايتات سوف يكون المجموع 56 بايت، وسوف يكون التقسيم كالتالي
|
||||||
- مخرج دالة [HMAC-SHA256]: من بايت 0 إلى بايت31. (التوقيع الذي سوف يتحقق منه الخادم)
|
- مخرج دالة [HMAC-SHA256]: من بايت 0 إلى بايت31. (التوقيع الذي سوف يتحقق منه الخادم)
|
||||||
- الوقت: من بايت 32 إلى بايت 39. (الذي سوف يتم إضافته بعد [مفتاح التشفير المشترك])
|
- الوقت: من بايت 32 إلى بايت 39. (الذي سوف يتم إضافته بعد [مفتاح التشفير المشترك])
|
||||||
- ال 16 بايت العشوائي: من بايت 40 إلى بايت 55. (سوف يتم إضافته بعد الوقت)
|
- ال 16 بايت العشوائي: من بايت 40 إلى بايت 55. (سوف يتم إضافته بعد الوقت)
|
||||||
|
@ -180,7 +180,7 @@ alice بإرسال طلب Get إلى الخادم يطلب فيه الدردشة
|
||||||
سوف يرجع الخادم 404 و يُعلم alice بأنه ليس لديه مستخدم بهذا الأسم.
|
سوف يرجع الخادم 404 و يُعلم alice بأنه ليس لديه مستخدم بهذا الأسم.
|
||||||
|
|
||||||
#### إذا لم يكن alice في قائمة bob البيضاء ولا السوداء
|
#### إذا لم يكن alice في قائمة bob البيضاء ولا السوداء
|
||||||
سوف يقوم الخادم اولاً سوف يقوم الخادم بإضافة bob إلى قائمة alice البيضاء، وبعد ذلك إضافة الطلب في جدول طلبات الدردشة **المُستقبلة** بالنسبة لـbob وسوف يضيفه إلى **المُرسلة** بالنسبة إلى alice ويرجع 200 ويقوم بإرسال طلب الدردشة إلى bob وينتظر رد bob، عندما يرد
|
سوف يقوم الخادم اولاً بإضافة bob إلى قائمة alice البيضاء، وبعد ذلك إضافة الطلب في جدول طلبات الدردشة **المُستقبلة** بالنسبة لـbob وسوف يضيفه إلى **المُرسلة** بالنسبة إلى alice ويرجع 200 ويقوم بإرسال طلب الدردشة إلى bob وينتظر رد bob، عندما يرد
|
||||||
bob بالموافقة ام الرفض (عبر إتصال ال [Websocket])، سوف يُعلم الخادم alice بأن
|
bob بالموافقة ام الرفض (عبر إتصال ال [Websocket])، سوف يُعلم الخادم alice بأن
|
||||||
bob وافق او رفض التواصل معه (عبر إتصال الـ [Websocket] او إضافته إلى جدول ليعلمه عند تواصله مع الخادم). إذا لم يوافق bob سوف
|
bob وافق او رفض التواصل معه (عبر إتصال الـ [Websocket] او إضافته إلى جدول ليعلمه عند تواصله مع الخادم). إذا لم يوافق bob سوف
|
||||||
يقوم الخادم بإضافة alice إلى قائمة bob السوداء، و إذا وافق سوف يتم إضافته إلى القائمة البيضاء.
|
يقوم الخادم بإضافة alice إلى قائمة bob السوداء، و إذا وافق سوف يتم إضافته إلى القائمة البيضاء.
|
||||||
|
|
Loading…
Reference in a new issue