Hashfunktion

Eine Hashfunktion, die Namen auf Ganzzahlen abbildet. Für die Namen „John Smith“ und „Sandra Dee“ gibt es eine Kollision.

Eine Hashfunktion oder Streuwertfunktion ist eine Abbildung, die eine große Eingabemenge, die Schlüssel, auf eine kleinere Zielmenge, die Hashwerte, abbildet. Eine Hashfunktion ist daher im Allgemeinen nicht injektiv. Die Eingabemenge kann Elemente unterschiedlicher Längen enthalten, die Elemente der Zielmenge haben dagegen meist eine feste Länge.

Der Name Hashfunktion stammt vom englischen Verb to hash, das sich mit „zerhacken“ übersetzen lässt. Der deutsche Name lautet Streuwertfunktion. Beide Namen deuten darauf hin, dass diese Funktionen normalerweise darauf angelegt sind, die Daten zu „verstreuen“ und zu „zerhacken“ (siehe auch Zerhacker in der Funktechnik). Speziell in der Informatik verwendet man auch den Begriff Hash-Algorithmus (englisch hash algorithm), da Hashfunktionen oftmals in Form eines Algorithmus spezifiziert werden, der die Berechnung der mathematischen Funktion beschreibt.

Die Hash- oder Streuwerte sind meist skalare Werte aus einer begrenzten Teilmenge der natürlichen Zahlen. Eine gute Hashfunktion liefert dabei für die Eingabedaten Werte derart, dass zwei unterschiedliche Eingaben auch zu unterschiedlichen Ausgabewerten führen.

Eine Kollision tritt dann auf, wenn unterschiedlichen Eingabedaten derselbe Hashwert zugeordnet wird. Da die Menge der möglichen Hashwerte meist kleiner ist als die der möglichen Eingaben, sind solche Kollisionen dann prinzipiell unvermeidlich, weshalb es Verfahren zur Kollisionserkennung geben muss. Eine gute Hashfunktion zeichnet sich dadurch aus, dass sie für die Eingaben, für die sie entworfen wurde, möglichst wenige Kollisionen erzeugt. Für bekannte und beschränkte Eingabemengen können auch perfekte (kollisionsfreie) Hashfunktionen gefunden werden.

In der Datenspeicherung kann ein Hashwert verwendet werden, um die Speicherstelle der angefragten Daten zu berechnen, z. B. in einer Hashtabelle. Bei Prüfsummen verwendet man Hashwerte, um Übertragungsfehler zu erkennen. Ein Hashwert wird deshalb auch als englisch Fingerprint bezeichnet, da er eine nahezu eindeutige Kennzeichnung einer größeren Datenmenge darstellt, so wie ein Fingerabdruck einen Menschen nahezu eindeutig identifiziert. In der Kryptologie werden spezielle kryptographische Hashfunktionen verwendet, bei denen zusätzlich gefordert wird, dass es praktisch unmöglich ist, Kollisionen absichtlich zu finden.

Definition

Eine Abbildung heißt Hashfunktion, wenn gilt. Insbesondere liefert eine Hashtabelle der Größe . Die Menge repräsentiert die Daten, die gehasht werden sollen, und wird auch die Menge der Schlüssel genannt; die Menge ist die Menge der möglichen Hashwerte. Typischerweise wird die Menge der Hashwerte als Anfangsstück der natürlichen Zahlen gewählt: . Diese Menge heißt dann auch Adressraum.

Typischerweise wird in der Praxis immer nur eine kleine Teilmenge der Schlüssel mit abgebildet. Die Menge sind dann die tatsächlich genutzten Hashwerte.

Das Verhältnis liefert den Belegungsfaktor.

Der Fall wird als Kollision bezeichnet. Eine injektive Hashfunktion heißt perfekt, u. a. weil sie keine Kollisionen erzeugt.

Kriterien

  • Geringe Wahrscheinlichkeit von Kollisionen der Hashwerte für den Eingabewertebereich, also möglichst eine Gleichverteilung der Hashwerte auf die erwarteten Eingabewerte.
  • Surjektivität – Kein Ergebniswert (Hashwert) soll unmöglich sein, jedes Ergebnis (jeder Hashwert im definierten Wertebereich) soll tatsächlich vorkommen können.
  • Effizienz – Die Funktion muss schnell berechenbar sein, ohne großen Speicherverbrauch auskommen (der Speicherbedarf des Hashwertes soll deutlich kleiner sein als jener des Schlüssels / Eingabewertes) und sollte die Quelldaten (Eingabewerte) möglichst nur einmal lesen müssen.

Folgende Kriterien spielen je nach Anwendung eine unterschiedliche Rolle:

  • falls die Hashfunktion einen sortierten Zugriff in der Hashtabelle einer Datenbank erlauben soll: ordnungserhaltend
  • bei kryptologischen Hashfunktionen: Chaos oder Lawineneffekt – Die Hashfunktion soll eine gute Diffusion besitzen; ähnliche Quellelemente (Eingabewerte) sollen zu völlig verschiedenen Hashwerten führen. Im Idealfall verändert das Umkippen eines Bits in der Eingabe durchschnittlich die Hälfte aller Bits im resultierenden Hashwert.
  • bei kryptologischen Hashfunktionen: Konfusion – Vom Hashwert sollen keine Rückschlüsse auf den Eingabewert gemacht werden können.
  • bei kryptologischen Hashfunktionen: Unumkehrbarkeit – Es soll kein praktisches Verfahren möglich sein, das aus einem Hashwert den Eingabewert bestimmt.

Anwendungen

Hashfunktionen werden typischerweise angewendet, um

  • einem komplexen Objekt eine Speicheradresse zuzuweisen. Zum Beispiel könnte „Max Mustermann“ im Ordner M abgelegt werden, dem ersten Buchstaben des Nachnamens.
  • eine kurze Prüfsumme zu dem Objekt zu berechnen. Beispiel sind die Prüfsumme einer ISBN und die zyklische Redundanzprüfung zur Erkennung von Übertragungsfehlern von Dateien.
  • einen Inhalt nahezu eindeutig, aber mit wenig Speicherplatz zu identifizieren, ohne etwas über den Inhalt zu verraten, zum Beispiel in der Kryptographie.

Je nach Anwendung hat man unterschiedliche Anforderungen an die Funktion. Gruppiert man beispielsweise eine Adresskartei nach dem ersten Buchstaben des Nachnamens, so spart man sich offensichtlich bei der Suche viel Zeit, denn man braucht nur einen von 26 Teilen zu durchsuchen. Diese Hashfunktion ist für den Menschen sehr praktisch, da sie sehr einfach zu berechnen ist, jedoch würde ein Computerprogramm andere Verfahren verwenden, um ein Adressbuch zu organisieren. Für das Programm ist es nämlich wichtig, möglichst wenige Kollisionen zu haben. Es gibt aber offenbar viele Namen, die mit demselben Anfangsbuchstaben beginnen, und sie kommen ungleichmäßig oft vor. Legt man also beispielsweise Personalakten nach diesem Prinzip ab, so hat man oftmals viele Akten im Ordner mit dem Buchstaben S, während der Ordner Q leer bleibt.

Die einstellige Quersumme ist eine sehr einfache Hashfunktion. Sie ordnet einer beliebigen Zahl eine einstellige Zahl zu, so wird beispielsweise 25 auf 2 + 5 = 7 abgebildet. Als Prüfsumme ist diese Quersumme aber nicht gut geeignet, da die Vertauschung von Ziffern – ein typischer Fall beim Abtippen von langen Zahlen – nicht erkannt wird. So hat auch die Zahl 52 dieselbe Quersumme 5 + 2 = 7. Prüfsummen wie bei der ISBN eines Buches oder die CRC-32-Prüfsumme einer Datei, z. B. beim Prüfen einer aus dem Internet heruntergeladenen Datei auf Übertragungsfehler, eignen sich besser, derartige Fehler zu erkennen.

Bei der Identifikation von Inhalten mit kryptographischen Hashfunktionen ist es nicht nur wichtig, dass sich der gesamte Hashwert mit allen Bits bei jeder kleinen Modifikation scheinbar zufällig ändert und dass es fast unmöglich ist, einen zweiten Inhalt mit demselben Hashwert zu erzeugen, um einen Komplettaustausch des Inhaltes zu vermeiden. Ebenso wichtig ist es, dass der Inhalt nicht aus dem Hashwert rekonstruiert werden kann. Hat man zwei Dokumente ausgetauscht und möchte beispielsweise am Telefon die erfolgreiche Übertragung überprüfen, so reicht es, am Telefon die Korrektheit des Hashwertes zu überprüfen. Wird das Gespräch abgehört, so wird dabei nichts über den Inhalt der Nachricht verraten, selbst falls Teile des Inhalts bereits bekannt sein sollten.

Datenbanken

Datenbankmanagementsysteme verwenden Hashfunktionen, um Daten in großen Datenbeständen mittels Hashtabellen zu suchen. Darüber wird ein Datenbankindex realisiert.

Mittels Hashfunktionen kann zudem die Fragmentierung von Datensätzen realisiert werden. Dabei wird die Hashfunktion auf den Primärschlüssel des betreffenden Objektes angewandt. Das Ergebnis referenziert dann seinen Speicherort.

Auch für vergleichsweise kleine Datenmengen werden Hashfunktionen benutzt, beispielsweise in Kompressionsalgorithmen wie LZW.

Prüfsummen

Prüfsummen sind ein einfaches Mittel, um die Plausibilität zur Erkennung von Veränderungen an übertragenen Daten zu erhöhen. Nur die Teilmenge der Datenvarianten, die bei Berechnung der Prüfsumme das gleiche Ergebnis wie das der Original-Daten erzeugen, kann noch als Verfälschung unerkannt bleiben. Mit mehreren verschiedenen passend erzeugten Prüfsummen kann die Wahrscheinlichkeit einer Kollision stark reduziert werden.

Ein Fehler ist immer feststellbar, wenn die berechnete Prüfsumme der empfangenen Daten sich von der übertragenen Prüfsumme, also der der Originaldaten, unterscheidet. Falls ein Fehler festgestellt wird, kann die Verfälschung auch ausschließlich in der Prüfsumme enthalten sein. Die Eignung verschiedener Hashfunktionen zur Prüfsummenberechnung hängt von deren Kollisionswahrscheinlichkeit ab.

Wenn die Prüfsumme vor gezielten Manipulationen der Daten schützen soll, wird eine kryptographische Hashfunktion verwendet, da hier nur mit sehr hohem Rechenaufwand eine Kollision gefunden werden kann.

Beispiele

Hashwerte haben unter anderem bei P2P-Anwendungen aus verschiedenen Gründen eine wichtige Aufgabe. Die Hashwerte werden hier sowohl zum Suchen und Identifizieren von Dateien als auch zum Erkennen und Prüfen von übertragenen Dateifragmenten verwendet. So lassen sich große Dateien zuverlässig in kleinen Segmenten austauschen.

Zur Anwendung in P2P-Netzen kommen vor allem gestufte Hashfunktionen, bei denen für kleinere Teile einer Datei der Hashwert und dann aus diesen Werten ein Gesamtwert berechnet wird. Bei den Netzwerken G2 und Direct Connect sind dies zum Beispiel Tiger-Tree-Hash-Funktionen.

Das Auffinden von Dateien anhand des Hashwertes ihres Inhaltes ist zumindest in den USA als Softwarepatent geschützt. Der Inhaber verfolgt Programme und Firmen, die auf Basis dieses Systems die Suche von Dateien ermöglichen. Sogar Firmen, die im Auftrag der Recording Industry Association of America oder der Motion Picture Association Anbieter von unlizenzierten Inhalten ermitteln wollen, sind betroffen.

Bei der Programmierung von Internet-Anwendungen werden Hashfunktionen zum Erzeugen von Session-IDs genutzt, indem unter Verwendung von wechselnden Zustandswerten (wie Zeit, IP-Adresse) ein Hashwert berechnet wird.

Kryptologie

Kryptographische Hashfunktionen sind kollisionsresistente Einwegfunktionen. Diese Eigenschaften sind notwendig für kryptographische Anwendungszwecke wie beispielsweise die Sicherstellung der Integrität von Daten. Weitere Anwendungsbeispiele sind digitale Signaturverfahren oder Schlüsselableitung. Bei letzterem wird aus einem Passwort ein Hashwert erzeugt, der entweder der sicheren, unumkehrbaren Speicherung von Passwörtern dient oder als Schlüssel für ein Verschlüsselungsverfahren verwendet wird.

Hash-Algorithmen

In der Praxis können oft heuristische Techniken angewendet werden, um eine gute Hashfunktion zu erstellen. Qualitative Informationen über die Verteilung der Schlüssel können in diesem Entwurfsprozess nützlich sein. Generell sollte eine Hashfunktion von jedem einzelnen Bit des Schlüssels abhängen, so dass sich zwei Schlüssel, die sich nur in einem Bit oder einer Bitfolge unterscheiden, unabhängig davon, ob die Folge am Anfang, am Ende oder in der Mitte des Schlüssels oder vorhanden ist, den gesamten Schlüssel-Hash auf verschiedene Werte abbildet. Daher ist eine Hashfunktion, die einfach einen Teil eines Schlüssels extrahiert, nicht geeignet. Wenn zwei Schlüssel einfach Permutationen voneinander sind, z. B. 256 und 625, sollten sie ebenfalls in unterschiedliche Werte gehasht werden.

Heuristischen Methoden sind Hashing durch Division und Hashing durch Multiplikation.[1]

Hashing durch Division

Bei dieser Methode wird ein Schlüssel einem Hashwert zugeordnet, indem der Rest des Schlüssels bei Division durch die Größe der Hashtabelle berechnet wird. Das heißt, die Hashfunktion ist definiert als

Weil nur eine einzige Divisionsoperation erforderlich ist, ist das Hashing durch Division ziemlich schnell. Wenn die Divisionsmethode verwendet wird, sollten bestimmte Werte für die Größe der Hashtabelle vermieden werden. Sie sollte keine Potenz einer Zahl sein. Wenn ist, dann ist der Hashwert immer gleich den letzten Bits von . Wenn wir nicht wissen, dass alle -Bit-Muster niedriger Ordnung gleich wahrscheinlich sind, ist es besser, die Hashfunktion so zu gestalten, dass sie von allen Bits des Schlüssels abhängt. Es hat sich gezeigt, dass die besten Ergebnisse mit der Divisionsmethode erzielt werden, wenn die Größe der Hashtabelle eine Primzahl ist. Eine Primzahl, die nicht zu nah bei einer Zweierpotenz liegt, ist oft eine gute Wahl für die Größe der Hashtabelle.[1]

Hashing durch Multiplikation

Bei dieser Methode wird der Schlüssel mit einer konstanten reellen Zahl im Bereich multipliziert und die Nachkommastellen von genommen. Dann wird dieser Wert mit der Größe der Hashtabelle multipliziert und mithilfe der Abrundungsfunktion der ganzzahlige Teil davon berechnet. Die Hashfunktion kann dargestellt werden als

Ein Vorteil besteht darin, dass die Größe der Hashtabelle nicht kritisch ist. Sie ist typischerweise eine Zweierpotenz, weil die Hashfunktion dann schneller implementiert werden kann. Obwohl diese Methode mit jeder reellen Zahl funktioniert, funktioniert sie mit einigen Werten besser als mit anderen.[1]

Bekannte Hashfunktionen

Weitere bekannte Hashfunktionen sind zum Beispiel

Gitterbasierte Hashfunktionen

Prüfsummen

Kryptographische Hashfunktionen

Nicht-kryptographische Hashfunktionen

Hashfunktion Geschwindigkeit Entwickler Jahr
xxHash 5,40 GB/s Yann Collet 2012
MurmurHash 3a 2,70 GB/s Austin Appleby 2008
SBox 1,40 GB/s Bret Mulvey 2007
Lookup3 1,20 GB/s Bob Jenkins 2006
CityHash64 1,05 GB/s Geoff Pike & Jyrki Alakuijala 2011
FNV 0,55 GB/s Fowler, Noll, Vo 1991
SipHash/HighwayHash[4] Jan Wassenberg & Jyrki Alakuijala 2016 / 2012

Passwort-Hashfunktionen

Literatur

Wiktionary: Hashfunktion – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen

Einzelnachweise

  1. a b c GeeksforGeeks: What are Hash Functions and How to choose a good Hash Function?
  2. C. P. Schnorr, Serge Vaudenay: Parallel FFT-hashing. In: Fast Software Encryption, pp 149–156, 1993
  3. K. Bentahar, D. Page, J. H. Silverman, M.-J. O. Saarinen, N.P. Smart: LASH. 2nd NIST Cryptographic Hash Workshop, 2006
  4. J. Wassenberg, J. Alakuijala: Fast strong hash functions: SipHash/HighwayHash (github.com)

Read other articles:

Este artigo não cita fontes confiáveis. Ajude a inserir referências. Conteúdo não verificável pode ser removido.—Encontre fontes: ABW  • CAPES  • Google (N • L • A) (Junho de 2021) Ministério da Defesa Nacional Organização Natureza jurídica Ministério Atribuições Política de defesa nacional Dependência Governo de Portugal Chefia Helena Carreiras, Ministra da Defesa Nacional Órgão subordinado Forças Armadas Portu...

Кайнан — термін, який має кілька значень. Ця сторінка значень містить посилання на статті про кожне з них.Якщо ви потрапили сюди за внутрішнім посиланням, будь ласка, поверніться та виправте його так, щоб воно вказувало безпосередньо на потрібну статтю.@ пошук посилань сам

  Perca Estado de conservaciónPreocupación menor (UICN 3.1)[1]​TaxonomíaReino: AnimaliaFilo: ChordataClase: ActinopterygiiOrden: PerciformesFamilia: PercidaeGénero: PercaEspecie: Perca fluviatilisLinnaeus, 1758Sinonimia Perca vulgaris Schaeffer, 1761 Perca vulgaris Schrank, 1792 Perca italica Cuvier, 1828 Perca vulgaris Fitzinger, 1832 Perca helvetica Gronow, 1854 [editar datos en Wikidata] La perca o perca de río (Perca fluviatilis) es una especie de pez de la ...

Kansas City Roos Universidad Universidad de Misuri–Kansas CityLiga División I de la NCAAConferencia principal Summit LeagueEquipos 16Equipos masculinos 7Equipos femeninos 9Director deportivo Carla WilsonApodo(s) KangaroosMascota Kasey the KangarooColores      Azul       DoradoInstalacionesFútbol Durwood Soccer StadiumBaloncesto Swinney Recreation Center Web oficial [editar datos en Wikidata] Municipal Auditorium. Los Kansas ...

Dieser Artikel erläutert den Baustoff Zement; für andere, abgeleitete Bedeutungen siehe Zement (Begriffsklärung). Zement ist als Baustoff seit der Antike in Gebrauch: die zur Zeit Kaiser Hadrians zwischen 125 n. Chr. und 128 n. Chr. fertiggestellte Zementkuppel des Pantheons in Rom war mehr als 1700 Jahre lang der größte Kuppelbau der Welt Ein zum Durchmischen vorbereiteter Haufen Sand (braun) und Zement (grau) In Säcke abgefüllter Zement in Tunesien Zement (über älteres Cement und c...

Синан Битичи Синан Битичи Особисті дані Народження 15 січня 1995(1995-01-15) (28 років)   Прізрен, Косово Зріст 185 см Вага 72 кг Громадянство  Австрія Позиція півзахисник Інформація про клуб Поточний клуб «Гоу Ехед Іглз» Номер 7 Юнацькі клуби 2002—2007 2007—2009 2009—2012 2012—2014 «Каринті

Honduras en los Juegos Olímpicos Bandera de HondurasCódigo COI HONCON Comité Olímpico Hondureño(pág. web)Juegos Olímpicos de Albertville 1992Deportistas 1 en 1 deportesAbanderado Jenny Palacios-StilloMedallas 0 0 0 0 Historia olímpicaJuegos de verano 1968 • 1972 • 1976 • 1980 • 1984 • 1988 • 1992 • 1996 • 2000 • 2004 • 2008 • 2012 • 2016 •...

يفتقر محتوى هذه المقالة إلى الاستشهاد بمصادر. فضلاً، ساهم في تطوير هذه المقالة من خلال إضافة مصادر موثوق بها. أي معلومات غير موثقة يمكن التشكيك بها وإزالتها. (مارس 2016) منتخب باراغواي لكرة القدم للسيدات بلد الرياضة باراغواي  الفئة كرة القدم للسيدات  رمز الفيفا PAR  مشا...

Masakan Armenia mencakup makanan dan teknik memasak dari bangsa Armenia, Diaspora Armenia dan hidangan tradisional Armenia. Masakan mencerminkan sejarah dan geografi bangsa Armenia dan memasukkan pengaruh dari luar negara. Masakan ini juga mencerminkan hasil panen dan hewan yang tumbuh dan diperlihara di daerah yang dihuni oleh orang-orang Armenia. Hidangan khas Kibbeh Armenia dengan sup yogurt/mentimun Ada dua hidangan nasional dalam masakan Armenia. Harissa adalah bubur yang terbuat dari ga...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Fizz & Martina – news · newspapers · books · scholar · JSTOR (May 2018) (Learn how and when to remove this template message) Video game seriesFizz & MartinaGenre(s)EdutainmentDeveloper(s)Tom Snyder ProductionsPublisher(s)Tom Snyder ProductionsPlatform(s...

Medical conditionHematidrosisOther namesHematohidrosis, haematidrosis, hemidrosis, blood sweatRed-tinted sweat (or blood sweat) caused by hematohidrosisSpecialtyDermatology Hematidrosis, also called hematohidrosis, haematidrosis, hemidrosis and blood sweat, is a very rare condition in which a human sweats blood.[1] The term is from Ancient Greek haîma/haímatos (αἷμα/αἵματος), meaning blood, and hīdrṓs (ἱδρώς), meaning sweat. Signs and symptoms Blood usually ooz...

Partikel Bahasa Korea adalah imbuhan atau kata pendek dalam tata bahasa Korea yang langsung mengikuti kata benda atau kata ganti. Artikel ini menggunakan Alih Aksara Korea yang Disempurnakan untuk menunjukkan pelafalan. Versi hangul dengan bentuk ortografi resmi disertakan juga. Unsur sintaksis yang mendahului Contoh kalimat Terjemahan (n-)eun은/는 Digunakan sebagai partikel topik atau partikel subjek. Eun 은 digunakan setelah bunyi konsonan, Neun 는 digunakan setelah bunyi vokal. Kata be...

Type of sub-surface railway vehicle C Stock redirects here. For the 1910 District Railway Stock, see London Underground C Stock (District Railway). London Underground C69 and C77 StockA refurbished C Stock at High Street Kensington in 2013The interior of a refurbished C StockIn service28 September 1970 – 3 June 2014ManufacturerMetro-Cammell[1]Built atWashwood Heath, Birmingham, England[1]ReplacedO and P StockRefurbished1991–1994Number preserved3 carsSuccessorS7 StockFormat...

Species of mollusc Dinoplax validifossus Scientific classification Domain: Eukaryota Kingdom: Animalia Phylum: Mollusca Class: Polyplacophora Order: Chitonida Family: Chaetopleuridae Genus: Dinoplax Species: D. validifossus Binomial name Dinoplax validifossusAshby, 1934 Synonyms Dinoplax gigas validifossus Ashby, 1934 Dinoplax validifossus, the Natal giant chiton, is a large polyplacophoran mollusc in the family Chaetopleuridae,[1] found on the eastern coast of southern Africa. I...

Mexican musical group Banda Sinaloense El Recodo de Cruz LizárragaBanda El Recodo tocando en CancúnBackground informationOriginEl Recodo, SinaloaYears active1938–presentLabelsRCA Victor (1951–1991) Musivisa (1991–1998) Universal/Fonovisa Records (1996–present)MembersLuis Alfonso Lizárraga Lizárraga (clarinet and musical director) (1990–present) Joel David Lizárraga Lizárraga (clarinet) (2001–present) Jusús Bernardo Osuna Ostos (clarinet) Jorge Alberto López Montoya (clarin...

Private college in North Andover, Massachusetts, U.S. Merrimack CollegeMottoPer Scientiam Ad Sapientiam (Latin)Motto in EnglishThrough Knowledge to WisdomTypePrivate universityEstablished1947Religious affiliationCatholic (Order of Saint Augustine)Academic affiliationsNAICU AICUM ACCU[1]Endowment$53,601,816 (2020)[2]PresidentChristopher E. Hopey, Ph.D.[3]Academic staff220Administrative staff330Students5,418 (2020)[4]Undergraduates4,202 (2020)[4]Post...

2018 film by Martin Zandvilet The OutsiderFilm release posterDirected byMartin ZandvlietWritten byAndrew BaldwinProduced by John Linson Art Linson Ken Kao Starring Jared Leto Tadanobu Asano Kippei Shiina Rory Cochrane Shioli Kutsuna Emile Hirsch CinematographyCamilla Hjelm KnudsenEdited byMikkel E.G. NielsenMusic bySune MartinProductioncompanies Linson Entertainment Waypoint Entertainment Distributed byNetflixRelease date March 9, 2018 (2018-03-09) Running time120 minutesCountr...

Este artigo não cita fontes confiáveis. Ajude a inserir referências. Conteúdo não verificável pode ser removido.—Encontre fontes: ABW  • CAPES  • Google (N • L • A) (Novembro de 2020) Ajude a melhorar este artigo sobre Arquitetura ilustrando-o com uma imagem. Consulte Política de imagens e Como usar imagens. O Império do Divino Espírito Santo dos Outeiros da Agualva é um Império do Espírito Santo português que se loc...

This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Hôtel Costes – news · newspapers · books · scholar · JSTOR (November 2016) (Learn how and when to remove this template message) Hôtel CostesParis, 239 rue Saint-Honoré. The heritage-listed original façade of the Hôtel Costes.General informationAddress7 Rue...

Variety of ethnic and cultural clothing worn by the people of Pakistan Pakistani clothing refers to the ethnic clothing that is typically worn by people in the country of Pakistan and by Pakistanis. Pakistani clothes express the culture of Pakistan, the demographics of Pakistan, and cultures from Punjab, Sindh, Balochistan, Khyber Pakhtunkhwa, Gilgit-Baltistan, and Kashmir regions of the country. The clothing in each region and culture of Pakistan reflect weather conditions, way of living, th...