x[7] += x[6]; x[6] += x[7];
x[9] += x[8]; x[8] += x[9];
x[11] += x[10]; x[10] += x[11];
x[13] += x[12]; x[12] += x[13];
x[15] += x[14]; x[14] += x[15];
x[7] += x[0]; x[0] += x[7];
x[1] += x[2]; x[2] += x[1];
x[3] += x[4]; x[4] += x[3];
x[5] += x[6]; x[6] += x[5];
x[11] += x[8]; x[8] += x[11];
x[9] += x[10]; x[10] += x[9];
x[15] += x[12]; x[12] += x[15];
x[13] += x[14]; x[14] += x[13];
x[3] += x[0]; x[0] += x[3];
x[15] += x[2]; x[2] += x[15];
x[7] += x[4]; x[4] += x[7];
x[1] += x[6]; x[6] += x[1];
x[5] += x[8]; x[8] += x[5];
x[13] += x[10]; x[10] += x[13];
x[11] += x[12]; x[12] += x[11];
x[9] += x[14]; x[14] += x[9];
x[13] += x[0]; x[0] += x[13];
x[5] += x[2]; x[2] += x[5];
x[9] += x[4]; x[4] += x[9];
x[11] += x[6]; x[6] += x[11];
x[15] += x[8]; x[8] += x[15];
x[1] += x[10]; x[10] += x[1];
x[3] += x[12]; x[12] += x[3];
x[7] += x[14]; x[14] += x[7];
t = x[0]; x[0] = x[14]; x[14] = x[12]; x[12] = x[10]; x[10] = x[2];
x[2] = x[8]; x[8] = x[4]; x[4] = t;
t = x[1]; x[1] = x[7]; x[7] = x[11]; x[11] = x[5]; x[5] = x[13]; x[13] = t;
t = x[15]; x[15] = x[3]; x[3] = t;
void do_inverse_round(BYTE x[16], BYTE *kp)
BYTE t;
t = x[3]; x[3] = x[15]; x[15] = t;
t = x[13]; x[13] = x[5]; x[5] = x[11]; x[11] = x[7]; x[7] = x[1]; x[1] = t;
t = x[4]; x[4] = x[8]; x[8] = x[2]; x[2] = x[10];
x[10] = x[12]; x[12] = x[14]; x[14] = x[0]; x[0] = t;
x[14] -= x[7]; x[7] -= x[14];
x[12] -= x[3]; x[3] -= x[12];
x[10] -= x[1]; x[1] -= x[10];
x[8] -= x[15]; x[15] -= x[8];
x[6] -= x[11]; x[11] -= x[6];
x[4] -= x[9]; x[9] -= x[4];
x[2] -= x[5]; x[5] -= x[2];
x[0] -= x[13]; x[13] -= x[0];
x[14] -= x[9]; x[9] -= x[14];
x[12] -= x[11]; x[11] -= x[12];
x[10] -= x[13]; x[13] -= x[10];
x[8] -= x[5]; x[5] -= x[8];
x[6] -= x[1]; x[1] -= x[6];
x[4] -= x[7]; x[7] -= x[4];
x[2] -= x[15]; x[15] -= x[2];
x[0] -= x[3]; x[3] -= x[0];
x[14] -= x[13]; x[13] -= x[14];
x[12] -= x[15]; x[15] -= x[12];
x[10] -= x[9]; x[9] -= x[10];
x[8] -= x[11]; x[11] -= x[8];
x[6] -= x[5]; x[5] -= x[6];
x[4] -= x[3]; x[3] -= x[4];
x[2] -= x[1]; x[1] -= x[2];
x[0] -= x[7]; x[7] -= x[0];
x[14] -= x[15]; x[15] -= x[14];
x[12] -= x[13]; x[13] -= x[12];
x[10] -= x[11]; x[11] -= x[10];
x[8] -= x[9]; x[9] -= x[8];
x[6] -= x[7]; x[7] -= x[6];
x[4] -= x[5]; x[5] -= x[4];
x[2] -= x[3]; x[3] -= x[2];
x[0] -= x[1]; x[1] -= x[0];
x[0] = logf[x[0] - kp[16] + 256] ^ kp[0];
x[1] = expf[x[1] ^ kp[17]] - kp[1];
x[2] = expf[x[2] ^ kp[18]] - kp[2];
x[3] = logf[x[3] - kp[19] + 256] ^ kp[3];
x[4] = logf[x[4] - kp[20] + 256] ^ kp[4];
x[5] = expf[x[5] ^ kp[21]] - kp[5];
x[6] = expf[x[6] ^ kp[22]] - kp[6];
x[7] = logf[x[7] - kp[23] + 256] ^ kp[7];
x[8] = logf[x[8] - kp[24] + 256] ^ kp[8];
x[9] = expf[x[9] ^ kp[25]] - kp[9];
x[10] = expf[x[10] ^ kp[26]] - kp[10];
x[11] = logf[x[11] - kp[27] + 256] ^ kp[11];
x[12] = logf[x[12] - kp[28] + 256] ^ kp[12];
x[13] = expf[x[13] ^ kp[29]] - kp[13];
x[14] = expf[x[14] ^ kp[30]] - kp[14];
x[15] = logf[x[15] - kp[31] + 256] ^ kp[15];
void encrypt(const UINT in_blk[4], UINT out_blk[4])
BYTE blk[16], *kp;
get_block(blk);
do_forward_round(blk, l_key); do_forward_round(blk, l_key + 32);
do_forward_round(blk, l_key + 64); do_forward_round(blk, l_key + 96);
do_forward_round(blk, l_key + 128); do_forward_round(blk, l_key + 160);
do_forward_round(blk, l_key + 192); do_forward_round(blk, l_key + 224);
if (k_bytes &gt; 16){
do_forward_round(blk, l_key + 256);
do_forward_round(blk, l_key + 288);
do_forward_round(blk, l_key + 320);
do_forward_round(blk, l_key + 352);
if (k_bytes &gt; 24){
do_forward_round(blk, l_key + 384);
do_forward_round(blk, l_key + 416);
do_forward_round(blk, l_key + 448);
do_forward_round(blk, l_key + 480);
kp = l_key + 16 * k_bytes;
blk[0] ^= kp[0]; blk[1] += kp[1];
blk[2] += kp[2]; blk[3] ^= kp[3];
blk[4] ^= kp[4]; blk[5] += kp[5];
blk[6] += kp[6]; blk[7] ^= kp[7];
blk[8] ^= kp[8]; blk[9] += kp[9];
blk[10] += kp[10]; blk[11] ^= kp[11];
blk[12] ^= kp[12]; blk[13] += kp[13];
blk[14] += kp[14]; blk[15] ^= kp[15];
put_block(blk);
void decrypt(const UINT in_blk[4], UINT out_blk[4])
BYTE blk[16], *kp;
get_block(blk);
kp = l_key + 16 * k_bytes;
blk[0] ^= kp[0]; blk[1] -= kp[1];
blk[2] -= kp[2]; blk[3] ^= kp[3];
blk[4] ^= kp[4]; blk[5] -= kp[5];
blk[6] -= kp[6]; blk[7] ^= kp[7];
blk[8] ^= kp[8]; blk[9] -= kp[9];
blk[10] -= kp[10]; blk[11] ^= kp[11];
blk[12] ^= kp[12]; blk[13] -= kp[13];
blk[14] -= kp[14]; blk[15] ^= kp[15];
if (k_bytes &gt; 24){
do_inverse_round(blk, l_key + 480); do_inverse_round(blk, l_key + 448);
do_inverse_round(blk, l_key + 416); do_inverse_round(blk, l_key + 384);
if (k_bytes &gt; 16){
do_inverse_round(blk, l_key + 352); do_inverse_round(blk, l_key + 320);
do_inverse_round(blk, l_key + 288); do_inverse_round(blk, l_key + 256);
do_inverse_round(blk, l_key + 224); do_inverse_round(blk, l_key + 192);
do_inverse_round(blk, l_key + 160); do_inverse_round(blk, l_key + 128);
do_inverse_round(blk, l_key + 96); do_inverse_round(blk, l_key + 64);
do_inverse_round(blk, l_key + 32); do_inverse_round(blk, l_key);
put_block(blk);
וסילי איוואנוב
וסילי ולדימירוביץ' איוואנוב (ברוסית: Василий Владимирович Иванов; נולד ב-21 במרץ 1970 בלנינגרד) הוא כדורגלן עבר סובייטי-רוסי, ששיחק בעמדות מגן שמאלי וקשר אחורי.
לאחר פרישתו מכדורגל עבד כסוכן כדורגל ובפברואר 2018 מונה למנכ"ל קבוצת הכדורגל חימקי.
קריירה.
איוואנוב החל את קריירת הכדורגל שלו בקבוצת זניט לנינגרד בשנת 1987. בשנת 1990 עבר לצסק"א מוסקבה, במדיה שיחק ארבע שנים במהלכן זכה באליפות ברית המועצות ובגביע ברית המועצות. בצסק"א שיחק איבנוב בכל תפקידי ההגנה - בלם, מגן וקשר אחורי. בשנת 1994 התחלף המאמן של צסק"א. המאמן החדש לא היה מרוצה מביצועיו של איוואנוב והוא שוחרר מהקבוצה. איוואנוב טס לישראל במטרה לחתום במכבי תל אביב, אך בסופו של דבר חתם במכבי הרצליה.
איוואנוב שיחק 4 עונות בשורות מכבי הרצליה. בשנת 1999 עבר לקבוצת מכבי חיפה. הוא שיחק 2 עונות במדי הקבוצה בתפקיד של מגן שמאלי. במהלך עונת 2000/2001 חזר למכבי הרצליה, ששיחקה אז בליגת המשנה. שיחק שם גם בעונת 2001/2002, וכעבור כמה חודשים מפתיחת העונה ההיא עזב את ישראל בשל המצב הביטחוני וחזר לרוסיה.
ברוסיה שיחק איוואנוב בקבוצות צ'רנומורץ נובורוסיסק ווולגר-גזפרום מליגת המשנה. פרש מכדורגל ב-2006.
מפברואר 2018 מנהל את מועדון הכדורגל חימקי.
ויכוח ואיאדוליד (1550)
ויכוח ואיאדוליד הוא דיון ציבורי שנערך בעיר ואיאדוליד בשנים 1550–1551 בדבר מדיניות הכיבוש וההתיישבות הספרדית באמריקה. היה זה הדיון המוסרי הראשון באירופה בדבר זכויותיהם של ילידים בקולוניות השונות.
בדיון יוצגו שתי דעות על ידי שני אישים: ברטולומה דה לאס קסאס, כומר ספרדי מהמסדר הדומיניקני, טען בדבר אנושיותם של הילידים, ומולו, חואן חינס דה ספולוודה אשר טען בדבר זכותם הטבעית של הספרדים לשעבד את האינדיאנים בעולם החדש. השניים לא התעמתו פנים אל פנים אלא הציגו את טיעוניהם בפני הוועדה לסירוגין.
בסיום הדיון טען כל אחד מהצדדים לניצחון, אולם בפועל הוועדה לא צידדה במי מהצדדים ושום החלטה לא התקבלה בעקבות הדיון.
רקע.
מיד לאחר גילויה של יבשת אמריקה בשנת 1492 החלו הספרדים בכיבוש היבשת ובשיעבוד הילדים. כבר בשנת 1493 הוקמו האנקומיינדות הראשונות בהיספניולה, ובהמשך הוקמו אנקומיינדות גם בשטחי היבשת עצמה לאחר כיבושם (בשנת 1521 נכבשה האימפריה האצטקית על ידי הרנאן קורטס, ובשנת 1532 כבש פרנסיסקו פיסארו את אימפריית האינקה). ה"אנקומיינדה" הייתה שטח אדמה שכלל קבוצה של ילידים שחיו בו ושנמסר לכמה מתיישבים ספרדים, שכונו "אנקומנדרוס". על האנקומנדרוס הוטל לנהל את החווה, תוך שימוש בכוח העבודה של האינדאנים שבשטחם. האינדיניאנים הועסקו בחקלאות, בעבודות כרייה, ופעולות ייצור שונות בתנאים קשים ותמורת שכר זעום. כמו כן הוטל על האנקומנדרו להביא את הילידים לדת הנוצרית. למעשה הייתה האנקומיינדה מוסד שנועד לחזק את הקולוניזציה של השטחים החדשים, באמצעות שיעבוד פיזי, נפשי ודתי של האוכלוסיות הילידיות.
במקביל להשתלטות על היבשת, החל בספרד דיון לגבי היחס הראוי כלפי הילידים. בבסיס הדיון עמדה השאלה אודות טבעם של הילידים - האם הם אנשים חופשיים או עבדים טבעיים שיש לשעבדם. אחד הבולטים שבמבקרי השעבוד הספרדי היה ברטולמה דה לאס קסאס. לאס קסאס הגיע להיספניולה בשנת 1502 והיה עד ליחס הספרדים אל האינדיאנים. בהמשך התנגד למוסדות השעבוד בעולם החדש וכתב עשרות חיבורים ותזכירים בדבר אנושיותם של האינדיאנים וזכויותיהם וכונה "מגן האינדיאנים".