Дипломная работа: Интегральная атака против блочного симметричного шифра Crypton

Дипломная работа: Интегральная атака против блочного симметричного шифра Crypton




💣 👉🏻👉🏻👉🏻 ВСЯ ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Стремительное развитие современных информационных технологий в Украине, начавшееся в конце XX века, не снижает своих темпов и в начале XXI века. Компьютерные технологии оказывают все большее влияние на все сферы человеческой деятельности. Постоянное увеличение скорости и объема передаваемых в информационных системах данных повышает эффективность производственных процессов, способствует расширению деловых операций.
Именно поэтому ужесточаются требования к информационной безопасности. Под ней понимается защищенность информации и поддерживающей инфраструктуры от случайных и преднамеренных воздействий, которые могут нанести ущерб владельцам или пользователям информации. Обеспечение безопасности информационной системы является одной из важнейших задач при эксплуатации данной системы, так как от сохранения конфиденциальности, целостности и доступности информационных ресурсов во многом зависит быстрота принятия решений, эффективность и надежность работы [1] . Разработка и анализ блочных шифров, является очень актуальной и необходимой задачей, которая должна быть реализована на государственном уровне, поскольку от этого зависит государственная безопасность Украины. Украине необходимо иметь свой БСШ.
Одним из основополагающих элементов в общем комплексе средств и методов обеспечения информационной безопасности являются криптографические методы защиты информации[2]. На данном этапе развития применяется как симметричные, так и несимметричные криптографические методы защиты. Это обуславливается тем, что первые способны обеспечить высокую скорость шифрования, а вторые – модель взаимного недоверия и защиты, т.е. ситуацию, когда пользователи информационных систем не хотят никому доверять свои личные ключи и параметры, но при этом хотят иметь гарантию компенсации потерь, если их обманут.
Широкое использование симметричной криптографии определяет необходимость исследования стойкости симметричных шифров к существующим методам криптоанализа.
Одним из наиболее эффективных, на сегодняшний день, является интегральный метод криптоанализа.
Целью данной работы является изучение теоретических основ и реализация интегральной атаки на практике для усеченной модели блочного симметричного шифра Сrypton, а также изучение особенностей и ограничений применения атаки.
Для достижения этой цели необходимо решить следующие задачи:
- Изучить методику применения интегральной атаки против блочного симметричного шифра Crypton.
- Адаптировать методику применения интегральной атаки для использования против усеченного варианта блочного симметричного шифра Crypton.
- Выполнить программнуюреализацию интегральной атаки против усеченного вариантаблочного симметричного шифра Crypton.
В данной дипломной работе рассчитывается экономическая эффективность разработки методикиопределения стойкости блочного симметричного шифра Сryptonпротивинтегральной атаки.
В разделе "Безопасность жизнедеятельности" дипломного проекта необходимо разработать вопросы БЖД при выполнении работ по разработке интегральной атаки на шифр Crypton, которые выполняются в научно-исследовательской лаборатории (НИЛ). В разделе следует выполнить анализ условий труда, разработать вопросы техники безопасности, производственной санитарии и гигиены труда, пожарной профилактики.
1. БЛОЧНЫЕ СИММЕТРИЧНЫЕ ШИФРЫ И ИХ МЕСТО В СОВРЕМЕННЫХ ИНФОРМАЦИОННЫХ СИСТЕМАХ
1.1 Основные требования к БСШ как к механизму обеспечивающему конфиденциальность
На сегодняшний день разработано достаточно много стойких блочных шифров. Практически все алгоритмы используют для преобразований определенный набор биективных (обратимых) математических преобразований.
Характерной особенностью блочных криптоалгоритмов является тот факт, что в ходе своей работы они производят преобразование блока входной информации фиксированной длины и получают результирующий блок того же объема, но недоступный для прочтения сторонним лицам, не владеющим ключом. Таким образом, схему работы блочного шифра можно описать функциями
Z=EnCrypt(X,Key) и X=DeCrypt(Z,Key)[3]
Ключ Key является параметром блочного криптоалгоритма и представляет собой некоторый блок двоичной информации фиксированного размера. Исходный (X) и зашифрованный (Z) блоки данных также имеют фиксированную разрядность, равную между собой, но необязательно равную длине ключа.
Блочные шифры являются основой, на которой реализованы практически все криптосистемы[4]. Методика создания цепочек из зашифрованных блочными алгоритмами байт позволяет шифровать ими пакеты информации неограниченной длины. Такое свойство блочных шифров, как быстрота работы, используется асимметричными криптоалгоритмами, медлительными по своей природе. Отсутствие статистической корреляции между битами выходного потока блочного шифра используется для вычисления контрольных сумм пакетов данных и в хешировании паролей.
Стойкость криптоалгоритмов описана в [5], [6]. Криптоалгоритм именуется идеально стойким, если прочесть зашифрованный блок данных можно только перебрав все возможные ключи, до тех пор, пока сообщение не окажется осмысленным. Так как по теории вероятности искомый ключ будет найден с вероятностью 1/2 после перебора половины всех ключей, то на взлом идеально стойкого криптоалгоритма с ключом длины N потребуется в среднем 2N-1 проверок. Таким образом, в общем случае стойкость блочного шифра зависит только от длины ключа и возрастает экспоненциально с ее ростом. Даже предположив, что перебор ключей производится на специально созданной многопроцессорной системе, в которой благодаря диагональному параллелизму на проверку 1 ключа уходит только 1 такт, то на взлом 128 битного ключа современной технике потребуется не менее 1021 лет. Естественно, все сказанное относится только к идеально стойким шифрам, которыми, например, с большой долей уверенности являются приведенные в таблице выше алгоритмы.
Кроме этого условия к идеально стойким криптоалгоритмам применяется еще одно очень важное требование, которому они должны обязательно соответствовать. При известных исходном и зашифрованном значениях блока ключ, которым произведено это преобразование, можно узнать также только полным перебором. Ситуации, в которых постороннему наблюдателю известна часть исходного текста встречаются повсеместно. Это могут быть стандартные надписи в электронных бланках, фиксированные заголовки форматов файлов, довольно часто встречающиеся в тексте длинные слова или последовательности байт. В свете этой проблемы описанное выше требование не является ничем чрезмерным и также строго выполняется стойкими криптоалгоритмами, как и первое.
Таким образом, на функцию стойкого блочного шифра Z=EnCrypt(X,Key) накладываются следующие условия:
- функция EnCrypt должна быть обратимой.
- не должно существовать иных методов прочтения сообщения X по известному блоку Z, кроме как полным перебором ключей Key.
- не должно существовать иных методов определения каким ключом Key было произведено преобразование известного сообщения X в сообщение Z, кроме как полным перебором ключей.
Давайте рассмотрим методы, с помощью которых разработчики блочных криптоалгоритмов добиваются одновременного выполнения этих трех условий с очень большой долей достоверности. Все действия, производимые над данными блочным криптоалгоритмом, основаны на том факте, что преобразуемый блок может быть представлен в виде целого неотрицательного числа из диапазона, соответствующего его разрядности. Так, например, 32-битный блок данных можно интерпретировать как число из диапазона 0..4'294'967'295. Кроме того, блок, разрядность которого обычно является "степенью двойки", можно трактовать как несколько независимых неотрицательных чисел из меньшего диапазона (рассмотренный выше 32-битный блок можно также представить в виде 2 независимых чисел из диапазона 0..65535 или в виде 4 независимых чисел из диапазона 0..255). Над этими числами блочным криптоалгоритмом и производятся по определенной схеме показаной на Таб 1.1 (слева даны условные обозначения этих операций на графических схемах алгоритмов):
В качестве параметра V для любого из этих преобразований может использоваться:
- фиксированное число (например, X'=X+125)
- число, получаемое из ключа (например, X'=X+F(Key))
- число, получаемое из независимой части блока (например, X2'=X2+F(X1))
Таблица 1.1 Условные обозначения операций на графических схемах алгоритмов.
Последний вариант используется в схеме, названной по имени ее создателя сетью Фейстеля (нем. Feistel).
Последовательность выполняемых над блоком операций, комбинации перечисленных выше вариантов V и сами функции F и составляют "ноу-хау" каждого конкретного блочного криптоалгоритма. Размер блоков и длина ключа современных (1999 год) алгоритмов были нами рассмотрены ранее. Один-два раза в год исследовательские центры мира публикуют очередной блочный шифр, который под яростной атакой криптоаналитиков либо приобретает за несколько лет статус стойкого криптоалгоритма, либо (что происходит неизмеримо чаще) бесславно уходит в историю криптографии.
Характерным признаком блочных алгоритмов является многократное и косвенное использование материала ключа. Это диктуется в первую очередь требованием невозможности обратного декодирования в отношении ключа при известных исходном и зашифрованном текстах. Для решения этой задачи в приведенных выше преобразованиях чаще всего используется не само значение ключа или его части, а некоторая, иногда необратимая (небиективная) функция от материала ключа. Более того, в подобных преобразованиях один и тот же блок или элемент ключа используется многократно. Это позволяет при выполнении условия обратимости функции относительно величины X сделать функцию необратимой относительно ключа Key.
Поскольку операция зашифровки или расшифровки отдельного блока в процессе кодирования пакета информации выполняется многократно (иногда до сотен тысяч раз), а значение ключа и, следовательно, функций Vi(Key) остается неизменным, то иногда становится целесообразно заранее однократно вычислить данные значения и хранить их в оперативной памяти совместно с ключом. Поскольку эти значения зависят только от ключа, то оин в криптографии называются материалом ключа. Необходимо отметить, что данная операция никоим образом не изменяет ни длину ключа, ни криптостойкость алгоритма в целом. Здесь происходит лишь оптимизация скорости вычислений путем кеширования (англ. caching) промежуточных результатов. Описанные действия встречаются практически во многих блочных криптоалгоритмах и носят название расширение ключа (англ. key scheduling)
1.2.1 Анализ симметричного блочного шифра Rijndael
Шифр реализует совершенно нетрадиционную криптографическую парадигму, полностью отказавшись от сети Фейстела[7],[8]. К достоинствам алгоритма относят: очень хорошее быстродействие на всех платформах от 8-битных до 64-битных, самый высокий потенциальный параллелизм среди претендентов, минимальные требования к ресурсам оперативной и постоянной памяти в реализации без кеширования некоторых операций, устойчивость к подавляющему большинству атак по времени исполнения и потребляемой мощности, структура шифра позволяет использовать любые комбинации размеров блока и длин ключа, кратные 32 бит (при достижении размером блока определенных границ требуется только увеличение числа раундов). При этом процедуры шифрования/дешифрования и операции расширения ключей различаются между собой достаточно сильно по сравнению с простым изменением порядка ключей либо операцией наложения, характерных для сети Фейстела, что увеличивает суммарный объем кода алгоритма.
Как показали предварительные исследования [9],[10], Rijndael может быть очень эффективно реализован на самых разных процессорах и чрезвычайно успешно противостоит известным криптоаналитическим атакам.
Rijndael представляет собой итеративный блочный шифр, имеющий переменную длину блоков и различные длины ключей. Длина ключа и длина блока могут быть независимо друг от друга 128, 192 или 256 бит.
Разнообразные преобразования работают с промежуточным результатом, называемым Состоянием (State).
Состояние можно представить в виде прямоугольного массива байтов. Этот массив имеет 4 строки, а число столбцов обозначено как Nb и равно длине блока, деленной на 32.
Ключ шифрования также представлен в виде прямоугольного массива с четырьмя строками. Число столбцов обозначено как Nk и равно длине ключа, деленной на 32. Это показано на рисунке 1.4.
Рисунок 1.4. Пример представления Состояния (Nb=6) и Ключа шифрования (Nk=4).
В некоторых случаях ключ шифрования показан как линейный массив 4-байтовых слов. Слова состоят из 4 байтов, которые находятся в одном столбце (при представлении в виде прямоугольного массива) как показано на рисунке 1.4 взятый с [11].
Входные данные для шифра ("открытый текст", если используется режим шифрования ECB) обозначаются как байты состояния в порядке a0,0, a1,0, a3,0, a0,1, a1,1, a3,1 ,a4,1 ... После завершения действия шифра выходные данные получаются из байтов состояния в том же порядке.
Число циклов обозначено как Nr и зависит от значений Nb и Nk. Оно приведено в Таблице 1.2
Таблица 1.2 Число циклов (Nr) как функция от длины ключа и длины блока.
Цикловое преобразование состоит из четырех различных преобразований. На псевдо-Си это выглядит следующим образом:
MixColumn(State); // замешивание столбцов
AddRoundKey(State, RoundKey); // добавление циклового ключа
Последний цикл шифра немного отличается. Вот как он выглядит:
AddRoundKey(State, RoundKey); // добавление циклового ключа
В приведенной записи, "функции" - Round, ByteSub и т.д. выполняют свои действия над массивами, указатели (т.е. State, RoundKey) на которые им передаются.
Как можно заметить, последний цикл отличается от простого цикла только отсутствием замешивания столбцов. Каждое из приведенных преобразований разобрано далее.
Преобразование ByteSub представляет собой нелинейную замену байт, выполняемую независимо с каждым байтом состояния. Таблицы замены (или S-блоки) являются инвертируемыми и построены из композиции двух преобразований:
1. Первое - получение обратного элемента относительно умножения в поле GF(28), '00' переходит сам в себя.
2. Применение афинного преобразования (над GF(2)), определенного как:
Применение описанного S-блока ко всем байтам состояния обозначено как ByteSub(State). Рисунок 1.5 иллюстрирует применение преобразования ByteSub к состоянию.
Рисунок 1.5 ByteSub действует на каждый байт состояния.
Последние 3 строки состояния циклически сдвигаются на различное число байт. Строка 1 сдвигается на С1 байт, строка 2 - на С2 байт и строка 3 - на С3 байт. Значения сдвигов С1, С2 и С3 зависят от длины блока Nb. Их величины приведены в таблице 1.4.
Таблица 1.4. Величина сдвига для разной длины блоков.
Операция сдвига последних 3 строк состояния на определенную величину обозначена как ShiftRow(State). Рисунок 1.5 показывает влияние преобразования на состояние.
Рисунок 1.5 ShiftRow действует на строки состояния.
В преобразовании замешивания столбцов (MixColumn) столбцы состояния рассматриваются как многочлены над GF(28) и умножаются по модулю x4+1 на многочлен c(x), выглядящий следующим образом:
c(x)='03' x3 + '01' x2 + '01' x + '02'(1.8)
Это может быть представлено в виде матричного умножения. Пусть b(x)=c(x)a(x),
Применение этой операции ко всем четырем столбцам состояния обозначено как MixColumn(State). Рисунок 1.7 демонстрирует применение MixColumn к состоянию.
Рисунок 1.7 MixColumn действует на столбцы состояния.
В следующей операции цикловой ключ добавляется к состоянию посредством простого EXOR. Цикловой ключ вырабатывается из ключа шифрования посредством алгоритма выработки ключей (key schedule). Длина циклового ключа равна длине блока Nb.
Преобразование, содержащее добавление посредством EXOR циклового ключа к состоянию, обозначено как AddRoundKey(State, RoundKey). Оно проиллюстрированно на рисунке 1.8.
При добавлении ключа цикловой ключ складывается посредством EXOR с состоянием.
Цикловые ключи получаются из ключа шифрования посредством алгоритма выработки ключей. Он содержит два компонента: расширение ключа (Key Expansion) и выбор циклового ключа (Round Key Selection).
Основополагающие принципы алгоритма выглядят следующим образом:
- общее число бит цикловых ключей равно длине блока, умноженной на число циклов плюс 1 (например, для длины блока 128 бит и 10 циклов требуется 1408 бит циклового ключа).
- ключ шифрования расширяется в Расширенный Ключ (Expanded Key).
- цикловые ключи берутся из Расширенного ключа следующим образом: первый цикловой ключ содержит первые Nb слов, второй - следующие Nb слов и т.д.
Расширенный ключ представляет собой линейный массив 4-ех байтовых слов и обозначен как W[Nb*(Nr+1)]. Первые Nk слов содержат ключ шифрования.
Все остальные слова определяются рекурсивно из слов с меньшими индексами. Алгоритм выработки ключей зависит от величины Nk: ниже приведена версия для Nk равного или меньшего 6 и версия для Nk большего 6.
for (i = 0; i < Nk; i++) W[i] = CipherKey[i];
W[j] = W[j-Nk] ^ SubByte( Rotl( W[j-1] ) ) ^ Rcon[j/Nk];
for (i = 1; i < Nk && i+j < Nb*(Nr+1); i++)
Как можно заметить, первые Nk слов заполняются ключом шифрования. Каждое последующее слово W[i] получается посредством EXOR предыдущего слова W[i-1] и слова на Nk позиций ранее W[i-Nk]. Для слов, позиция которых кратна Nk, перед EXOR применяется преобразование к W[i-1], а затем еще прибавляется цикловая константа. Преобразование содержит циклический сдвиг байтов в слове, обозначенный как Rotl, затем следует SubByte - применение замены байт.
for (i=0; i6 состоит в применении SubByte для каждого 4-го байта из Nk.
Цикловая константа независит от Nk и определяется следующим образом:
Rcon[i] = ( RC[i], '00' , '00' , '00' ),
ГдеRC[0]='01', RC[i]=xtime(Rcon[i-1])
i-ый цикловой ключ получается из слов массива циклового ключа от W[Nb*i] и доW[Nb(i+1)]. Это показано на рисунке 1.9
Рисунок 1.9 Расширение ключа и выбор циклового ключа для Nb=6 и Nk=4.
Алгоритм выработки ключей можно осуществлять и без использования массива W[Nb*(Nr+1)]. Для реализаций, в которых существенно требование к занимаемой памяти, цикловые ключи могут вычисляться на лету посредством использования буфера из Nk слов. Шифр Rijndael состоит из:
- Начального добавления циклового ключа;
На псевдо-Си это выглядит следующим образом:
KeyExpansion(CipherKey, ExpandedKey); // Расширениеключа
AddRoundKey(State, ExpandedKey); // Добавлениецикловогоключа
For ( i=1 ; i> ((int)(n))) | ((x) << (32 - (int)(n))))
#define rotl(x,n) (((x) << ((int)(n))) | ((x) >> (32 - (int)(n))))
/* Invert byte order in a 32 bit variable */
#define bswap(x) (rotl(x, 8) & 0x00ff00ff | rotr(x, 8) & 0xff00ff00)
/* Extract byte from a 32 bit quantity (little endian notation) */
#define byte(x,n) ((u1byte)((x) >> (8 * n)))
/* For inverting byte order in input/output 32 bit words if needed */
/* For inverting the byte order of input/output blocks if needed */
((u4byte*)(x))[0] = io_swap(in_blk[3]); \
((u4byte*)(x))[1] = io_swap(in_blk[2]); \
((u4byte*)(x))[2] = io_swap(in_blk[1]); \
((u4byte*)(x))[3] = io_swap(in_blk[0])
out_blk[3] = io_swap(((u4byte*)(x))[0]); \
out_blk[2] = io_swap(((u4byte*)(x))[1]); \
out_blk[1] = io_swap(((u4byte*)(x))[2]); \
out_blk[0] = io_swap(((u4byte*)(x))[3])
((u4byte*)(x))[4] = ((u4byte*)(x))[5] = \
((u4byte*)(x))[6] = ((u4byte*)(x))[7] = 0; \
((u4byte*)(x))[0] = io_swap(in_key[3]); \
((u4byte*)(x))[1] = io_swap(in_key[2]); \
((u4byte*)(x))[2] = io_swap(in_key[1]); \
((u4byte*)(x))[3] = io_swap(in_key[0]); \
((u4byte*)(x))[0] = io_swap(in_key[5]); \
((u4byte*)(x))[1] = io_swap(in_key[4]); \
((u4byte*)(x))[2] = io_swap(in_key[3]); \
((u4byte*)(x))[3] = io_swap(in_key[2]); \
((u4byte*)(x))[4] = io_swap(in_key[1]); \
((u4byte*)(x))[5] = io_swap(in_key[0]); \
((u4byte*)(x))[0] = io_swap(in_key[7]); \
((u4byte*)(x))[1] = io_swap(in_key[6]); \
((u4byte*)(x))[2] = io_swap(in_key[5]); \
((u4byte*)(x))[3] = io_swap(in_key[4]); \
((u4byte*)(x))[4] = io_swap(in_key[3]); \
((u4byte*)(x))[5] = io_swap(in_key[2]); \
((u4byte*)(x))[6] = io_swap(in_key[1]); \
((u4byte*)(x))[7] = io_swap(in_key[0]); \
((u4byte*)(x))[0] = io_swap(in_blk[0]); \
((u4byte*)(x))[1] = io_swap(in_blk[1]); \
((u4byte*)(x))[2] = io_swap(in_blk[2]); \
((u4byte*)(x))[3] = io_swap(in_blk[3])
out_blk[0] = io_swap(((u4byte*)(x))[0]); \
out_blk[1] = io_swap(((u4byte*)(x))[1]); \
out_blk[2] = io_swap(((u4byte*)(x))[2]); \
out_blk[3] = io_swap(((u4byte*)(x))[3])
((u4byte*)(x))[4] = ((u4byte*)(x))[5] = \
((u4byte*)(x))[6] = ((u4byte*)(x))[7] = 0; \
((u4byte*)(x))[6] = io_swap(in_key[6]); \
((u4byte*)(x))[7] = io_swap(in_key[7]); \
((u4byte*)(x))[4] = io_swap(in_key[4]); \
((u4byte*)(x))[5] = io_swap(in_key[5]); \
((u4byte*)(x))[0] = io_swap(in_key[0]); \
((u4byte*)(x))[1] = io_swap(in_key[1]); \
((u4byte*)(x))[2] = io_swap(in_key[2]); \
((u4byte*)(x))[3] = io_swap(in_key[3]); \
#ifndef ATACH.H_H #define ATACH.H_H
#define ENCRYPT 0 #define DECRYPT 1
¦include "StdAfx.h" #include "Resource.h" ¦include "winaesDlg.h"
¦define ROTL(x) ( ( (x) "7) | ( (x) "1) )
¦define R0TL8 (x) ( ( (x) "8) | ( (x) "24) ) ¦define R0TL16(x) ( ( (x) "16) I ( (x) "16) ) ¦define ROTL24 (x) ( ( (x) "24) | ( (x) "8) )
int KeyExpansion(CWinaesDlg* dig, int nb,int nk, BYTE* key); void Encrypt(CWinaesDlg* dig, BYTE* buff, BYTE* result); void InvDecrypt(CWinaesDlg* dig, BYTE* buff, BYTE* result); void EquDecrypt(CWinaesDlg* dig, BYTE* buff, BYTE* result);
int blockEncrypt(CWinaesDlg* dig, BYTE *input, int inputLen, BYTE* result, int cipher_mode); int blockDecrypt(CWinaesDlg* dig, BYTE *input, int inputLen, BYTE* result, int decrypt_mode, int cipher_mode);
¦include ¦include ¦include "Rijndael.h" ¦include "service.h"
¦define BPOLY (BYTE) Oxllb ¦define MPOLY (BYTE) 0x101
BYTE subbytes[256] ; BYTE invsubbytes[256] ;
static char strTmp[260], Tmp[260]; static DWORD s[8];
if (i==2 && j==3) shfts[i][j]=4; else shfts[i][j]=j;
void shiftrow(BYTE* row, int n, int direct)
for (int i=0; i0; j--) row[j]=row[j-1] ,
for (j=0;jm_eDebug.AddString(strTmp);
CharStr2HexStr((BYTE*)result, Tmp, Nb*4); sprintf(strTmp,"out[%04u]=%s", i, Tmp); dlg->m_eDebug.AddString(strTmp); }
iv = (BYTE*) malloc(Nb"2) ; memcpy(iv, cipher_IV, Nb"2);
//CharStr2HexStr((BYTE*)s, Tmp, Nb*4);
sprintf(strTmp,"= CTR AES Nb=%u Nk=%u, block %04u encrypt ======================", Nb, Nk, i);
CharStr2HexStr((BYTE*)iv, Tmp, Nb*4); sprintf(strTmp," IV[%04u]=%s", i, Tmp); dlg->m_eDebug.AddString(strTmp); }
for (j=0; j < Nb; j++) ((DWORD*)result)[j] л= ((DWORD*)input)[j];
CharStr2HexStr((BYTE*)input, Tmp, Nb*4);
sprintf(strTmp," in[%04u]=%s", i, Tmp);
CharStr2HexStr((BYTE*)result, Tmp, Nb*4); sprintf(strTmp,"out[%04u]=%s", i, Tmp); dlg->m_eDebug.AddString(strTmp); }

Название: Интегральная атака против блочного симметричного шифра Crypton
Раздел: Рефераты по информатике, программированию
Тип: дипломная работа
Добавлен 13:49:58 03 июня 2011 Похожие работы
Просмотров: 3330
Комментариев: 16
Оценило: 3 человек
Средний балл: 5
Оценка: неизвестно   Скачать

Q об
= 860∙N 1
∙K 2
∙K 2
= 860∙0,8∙0,95∙1 = 654(ккал/ч),
Q л
= 0,5∙n∙g = 0,5∙2∙120 = 120 (ккал/ч),
Q ос
= k∙ E∙ S = 0,05∙300∙24 = 360 (ккал/ч),
Q р
= n c
∙k c
∙S = 86∙6∙1,15 = 593,4 (ккал/ч),
Q = 654+120+360+593,4 = 1727,4 (ккал/ч) или 2 кВт.
Срочная помощь учащимся в написании различных работ. Бесплатные корректировки! Круглосуточная поддержка! Узнай стоимость твоей работы на сайте 64362.ru
Привет студентам) если возникают трудности с любой работой (от реферата и контрольных до диплома), можете обратиться на FAST-REFERAT.RU , я там обычно заказываю, все качественно и в срок) в любом случае попробуйте, за спрос денег не берут)
Да, но только в случае крайней необходимости.

Дипломная работа: Интегральная атака против блочного симметричного шифра Crypton
Лабораторная Работа 4 Изучение Явления Электромагнитной Индукции
Реферат по теме Скотт Роберт Фолкон
Реферат по теме Правовая (судебная) бухгалтерия
Кикимора Сочинение По Музыке
Сочинение Петра Водкина Портрет Мальчика
Дипломная работа по теме Исследование использования производственных мощностей предприятия (на материалах ОАО 'Автоагрегат')
План Сочинения Отзыва По Картине
Дипломная работа по теме Особенности ролевой игры в обучении диалогической речи на уроках английского языка
ИЗОБРАЖЕНИЕ МНОГОГРАННИКОВ
Сочинение На Тему А Н Островского Гроза
Реферат: Экстрадиция. Скачать бесплатно и без регистрации
Реферат: Рекламная деятельность в коммерческих организациях 2
Реферат: Alice And The Wonderland Essay Research Paper
Дипломная работа по теме Изучение Орхидных как объекта охраны на уроках биологии в средней школе
Курсовые работы: Педагогика
Доклад по теме Социокультурные корни психологии в России
Слова Для Написания Задач В Курсовой
Курсовая работа: Рынок научно-технической продукции в России. Его современное состояние и тенденции развития. Скачать бесплатно и без регистрации
Бег В Медленном Темпе Реферат
Курсовая Работа На Тему Особенности Редакторской Подготовки К Изданию Пособия
Реферат: Избирательная система РФ
Реферат: Функции и структура заработной платы
Курсовая работа: Проектування трудових процесів та організація робочих місць

Report Page